- final BindingRuntimeContext ctx = BindingRuntimeContext.create(classLoadingStrategy, schemaCtx);
- codecRegistry.onBindingRuntimeContextUpdated(ctx);
- final BindingToNormalizedNodeCodec codec =
- new BindingToNormalizedNodeCodec(classLoadingStrategy, codecRegistry);
+ final NormalizedNode<?, ?> data = prepareData(schemaCtx, 42);
+ final Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode = fromNormalizedNode(data, schemaCtx);
+
+ final DataObject value = fromNormalizedNode.getValue();
+ assertNotNull(value);
+ assertEquals("Cont", value.getImplementedInterface().getSimpleName());
+ final Object objs[] = {};
+ final Object invoked = value.getImplementedInterface().getDeclaredMethods()[0].invoke(value, objs);
+ final Field declaredField = invoked.getClass().getDeclaredField("_id");
+ declaredField.setAccessible(true);
+ final Object id = declaredField.get(invoked);
+ final Field val = id.getClass().getDeclaredField("_value");
+ val.setAccessible(true);
+ assertEquals(42, val.get(id));
+ }
+
+ /**
+ * Test for yang with leaf of type int in container where data are created
+ * with String value (non acceptable data - should failed with
+ * {@link IllegalArgumentException})
+ *
+ * @throws Exception
+ */
+ @Test
+ public void fromNormalizedNodeWithAnotherInputDataTest() throws Exception {
+ final SchemaContext schemaCtx = loadSchemaContext("/");
+ final NormalizedNode<?, ?> data = prepareData(schemaCtx, "42");