+ private static final QNameModule FOOMOD = QNameModule.create(URI.create("http://example.com/foomod"));
+ private static final QNameModule BARMOD = QNameModule.create(URI.create("http://example.com/barmod"));
+
+ private static final QName FOO_QNAME = QName.create(FOOMOD, "foo");
+ private static final QName FOOLIST_QNAME = QName.create(FOOMOD, "foo-list");
+ private static final QName NAME_QNAME = QName.create(FOOMOD, "name");
+ private static final QName TOP_QNAME = QName.create(FOOMOD, "top");
+ private static final QName BARCONTAINER_QNAME = QName.create(BARMOD, "bar-container");
+
+ private static final YangInstanceIdentifier TEST_IID = YangInstanceIdentifier.builder()
+ .node(TOP_QNAME)
+ .node(FOOLIST_QNAME)
+ .node(NodeIdentifierWithPredicates.of(FOOLIST_QNAME, ImmutableMap.of(NAME_QNAME, "key-value")))
+ .node(new AugmentationIdentifier(ImmutableSet.of(BARCONTAINER_QNAME)))
+ .node(BARCONTAINER_QNAME)
+ .node(QName.create(BARMOD, "bar-leaf"))
+ .build();
+
+ private static EffectiveModelContext FULL_SCHEMA_CONTEXT;
+
+ @BeforeClass
+ public static void init() {
+ FULL_SCHEMA_CONTEXT = YangParserTestUtils.parseYangResourceDirectory("/bug8083/yang/");
+ }
+
+ @AfterClass
+ public static void cleanup() {
+ FULL_SCHEMA_CONTEXT = null;
+ }
+
+ @Test
+ public void testInstanceIdentifierSerializeNew() throws IOException {
+ assertEquals("/example-foomod:top/foo-list[name='key-value']/example-barmod:bar-container/bar-leaf",
+ writeInstanceIdentifier(JSONCodecFactorySupplier.RFC7951));
+ }
+
+ @Test
+ public void testInstanceIdentifierSerializeOld() throws IOException {
+ assertEquals("/example-foomod:top/example-foomod:foo-list[example-foomod:name='key-value']"
+ + "/example-barmod:bar-container/example-barmod:bar-leaf",
+ writeInstanceIdentifier(JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02));
+ }