public void ParseBadType2()
        {
            var root = @"<Root></Root>".ToXmlView();
            var d = new GenericDeserializer(new XmlMapper());

            d.Deserialize<BadType2>(root);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            var genericDeserializer = new GenericDeserializer();

            var originalJsonString    = File.ReadAllText(JsonFilename);
            var originalJschemaString = File.ReadAllText(JschemaFilename);

            // Cases where JArray and JObjects will be still presented.
            var genericClassFromJson1    = JsonConvert.DeserializeObject <IEnumerable <GenericDeserializedClass> >(originalJsonString);
            var genericClassFromJschema1 = JsonConvert.DeserializeObject <GenericDeserializedClass>(originalJschemaString);

            // Cases with full deserialization.
            var genericClassFromJson2    = (IEnumerable <GenericDeserializedClass>)genericDeserializer.DeserializeObjects(originalJsonString);
            var genericClassFromJschema2 = genericDeserializer.DeserializeObject(originalJschemaString);

            // Serializing back from generic classes.
            var newJsonString    = JsonConvert.SerializeObject(genericClassFromJson2);
            var newJSchemaString = JsonConvert.SerializeObject(genericClassFromJschema2);

            // Flat properties.
            genericClassFromJson2    = genericClassFromJson2.FlatProperties();
            genericClassFromJschema2 = genericClassFromJschema2.FlatProperties();

            // Unflat properties.
            genericClassFromJson2    = genericClassFromJson2.UnFlatProperties();
            genericClassFromJschema2 = genericClassFromJschema2.UnFlatProperties();
        }
        public void BadParse3()
        {
            var root =
            @"<Root NInt2='' Int2=''></Root>".ToXmlView();
            var d = new GenericDeserializer();

            d.Deserialize<TestType1>(root);
        }
        public void ParseCollection()
        {
            var root =
            @"<root coll='5'><coll>-5</coll></root>".ToXmlView();
            var d = new GenericDeserializer();

            var tc = d.Deserialize<ComplexTest>(root);

            CollectionAssert.AreEqual(new sbyte[] { 5, -5 }, tc.Coll);
        }
        public void ParseArray2()
        {
            var root =
            @"<root array='123'><array>345</array></root>".ToXmlView();
            var d = new GenericDeserializer();

            var tc = d.Deserialize<ComplexTest>(root);

            CollectionAssert.AreEqual(new int[] { 123, 345 }, tc.Array);
        }
        public void ParseGoodType_Blob()
        {
            var root =
            @"<Root xmlBlob='MTIz'></Root>".ToXmlView();
            var d = new GenericDeserializer(new XmlMapper());

            var t = d.Deserialize<GoodType>(root);

            Assert.That(t.Blob, Is.EquivalentTo(new byte[] {49, 50, 51}));
        }
        public void ParseGoodType2()
        {
            var root =
            @"<Root Ignored='1'><xmlInner xmlNInt='321'></xmlInner></Root>".ToXmlView();
            var d = new GenericDeserializer(new XmlMapper());

            var t = d.Deserialize<GoodType>(root);

            Assert.IsFalse(t.Ignored);
            Assert.IsNotNull(t.Inner);
            Assert.AreEqual(321, t.Inner.NInt);
        }
        public static void AOTCall()
        {
            GenericDeserializer <JsonValue, OpenSeeWebcamCapability[]> .GenericArrayDeserializer <OpenSeeWebcamCapability>(default(ListTreeNode <JsonValue>));

            JsonObjectValidator.GenericDeserializer <JsonValue, OpenSeeWebcamCapability> .DeserializeField <System.Int32>(default(JsonSchema), default(ListTreeNode <JsonValue>));

            JsonObjectValidator.GenericDeserializer <JsonValue, OpenSeeWebcamCapability> .DeserializeField <OpenSeeWebcamFormat>(default(JsonSchema), default(ListTreeNode <JsonValue>));

            GenericDeserializer <JsonValue, OpenSeeWebcam[]> .GenericArrayDeserializer <OpenSeeWebcam>(default(ListTreeNode <JsonValue>));

            throw new InvalidOperationException("This method is used for AOT code generation only. Do not call it at runtime.");
        }
        public void ParseEmptyCollections()
        {
            var root =
            @"<Root></Root>".ToXmlView();
            var d = new GenericDeserializer();

            var tc = d.Deserialize<ComplexTest>(root);

            CollectionAssert.IsEmpty(tc.Array);
            CollectionAssert.IsEmpty(tc.Coll);
            Assert.IsNull(tc.Inner);
            CollectionAssert.IsEmpty(tc.InnerList);
        }
        public void ParseGoodType1()
        {
            var root =
            @"<Root Ignored='true'><xmlNInt>123</xmlNInt></Root>".ToXmlView();
            var d = new GenericDeserializer(new XmlMapper());

            var t = d.Deserialize<GoodType>(root);

            Assert.IsFalse(t.Ignored);
            Assert.AreEqual(123, t.NInt);
            Assert.IsNull(t.Inner);
            Assert.AreEqual(0, t.InnerList.Count);
        }
Esempio n. 11
0
        private static ICombinableAppSettings loadSettings()
        {
            var strConv      = new StringConverter();
            var deserializer = new GenericDeserializer();

            var xmlFileLoader = new XmlFileSettingsLoader(deserializer, strConv);
            var loader        = new SettingsLoader(xmlFileLoader);

            loader.LoadSettings(new XmlSystemSettings("ExtConfigure", strConv, deserializer));

            var result = loader.Settings;

            return(new CombinableAppSettings(result));
        }
        public void EmptyParse()
        {
            var root =
            @"<root ignored='true' nint2='' int2='123' cfgNode2='' ><inner2 NInt=''/></root>".ToXmlView();
            var d = new GenericDeserializer();

            var t = d.Deserialize<TestType1>(root);

            Assert.AreEqual(false, t.Ignored);

            Assert.AreEqual(null, t.Inner1);
            Assert.NotNull(t.Inner2);
            Assert.AreEqual(123, t.Int2);
            Assert.AreEqual(null, t.NInt2);
        }
        public void BadParsePath()
        {
            try
            {
                var root =
            @"<Root NInt2='1' Int2='1'><CfgNode2 /><Inner1 /></Root>".ToXmlView();
                var d = new GenericDeserializer();

                d.Deserialize<TestType1>(root);
            }
            catch (DeserializeChildException ex)
            {
                var fullPath = string.Join("/", ex.FullPath);
                Assert.That(fullPath, Is.EqualTo("Inner1/NInt"));
                Assert.That(ex.Reason, Is.InstanceOf<FormatException>());
            }
        }
        public void ParseInnerList()
        {
            var root =
            @"<root><innerlist coll='5'><coll>-5</coll></innerlist><innerlist coll='6'><coll>-6</coll></innerlist></root>".ToXmlView();
            var d = new GenericDeserializer();

            var tc = d.Deserialize<ComplexTest>(root);

            CollectionAssert.AreEqual(new sbyte[] { 5, -5 }, tc.InnerList[0].Coll);
            CollectionAssert.AreEqual(new sbyte[] { 6, -6 }, tc.InnerList[1].Coll);
        }
        public void ParsePrimitiveType()
        {
            var root = @"<Config
            TextField='val1' TextProp='val2'
            BoolField='+' BoolProp='false'
            NBoolField='T' NBoolProp=''
            ByteField='123' ByteProp='12'
            NByteProp=''
            EnProp='One'
            ><NByteField>0</NByteField></Config>".ToXmlView();
            var d = new GenericDeserializer();

            var tc = d.Deserialize<PrimitiveTypeCollection>(root);

            Assert.AreEqual("val1", tc.TextField);
            Assert.AreEqual("val2", tc.TextProp);

            Assert.AreEqual(true, tc.BoolField);
            Assert.AreEqual(false, tc.BoolProp);
            Assert.AreEqual(true, tc.NBoolField);
            Assert.AreEqual(null, tc.NBoolProp);
            Assert.AreEqual(123, tc.ByteField);
            Assert.AreEqual(12, tc.ByteProp);
            Assert.AreEqual(0, tc.NByteField);
            Assert.AreEqual(null, tc.NByteProp);
            Assert.AreEqual(TestEn.One, tc.EnProp);
        }
Esempio n. 16
0
 private static T Deserialize <T>(Func <string> func)
 {
     return(GenericDeserializer.Deserialize(func, JsonConvert.DeserializeObject <T>));
 }
 public static void Deserialize <T, U>(this ListTreeNode <T> self, ref U value)
     where T : IListTreeItem, IValue <T>
 {
     GenericDeserializer <T, U> .Deserialize(self, ref value);
 }
        public void RequiredNullable()
        {
            var root =
            @"<Root NInt=''></Root>".ToXmlView();
            var d = new GenericDeserializer();

            var t = d.Deserialize<TestType2>(root);

            Assert.AreEqual(null, t.NInt);
        }