Пример #1
0
 public SerializationHelper(GetSerializer getSerializer)
 {
     _bonsaiSerializer   = getSerializer(SerializeConstantFactory, DeserializeConstantFactory);
     _dataSerializer     = (JsonDataSerializer)DataSerializer.Create(_bonsaiSerializer);
     _genericSerialize   = _dataSerializer.GetType().GetMethod(nameof(DataSerializer.Serialize));
     _genericDeserialize = _dataSerializer.GetType().GetMethod(nameof(DataSerializer.Deserialize));
 }
Пример #2
0
 public SerializationHelper(Version bonsaiVersion)
 {
     _invertedTypeSpace  = new DataModelInvertedTypeSpace();
     _bonsaiSerializer   = new DataModelBonsaiExpressionSerializer(_invertedTypeSpace, SerializeConstantFactory, DeserializeConstantFactory, bonsaiVersion);
     DataSerializer      = DataSerializer.Create(_bonsaiSerializer);
     _genericSerialize   = DataSerializer.GetType().GetMethod(nameof(DataSerializer.Serialize));
     _genericDeserialize = DataSerializer.GetType().GetMethod(nameof(DataSerializer.Deserialize));
 }
Пример #3
0
        public void DataSerializer_Json_TextReaderAndWriter()
        {
            var p = new Person {
                Name = "Bart", Age = 21
            };

            var ser = (JsonDataSerializer)DataSerializer.Create();

            var sw = new StringWriter();

            ser.SerializeTo(p, sw);

            var json = sw.ToString();

            var sr  = new StringReader(json);
            var res = ser.DeserializeFrom <Person>(sr);

            Assert.AreEqual(p.Name, res.Name);
            Assert.AreEqual(p.Age, res.Age);
        }
Пример #4
0
        public void JsonDataSerializer_ArgumentChecks()
        {
            var json = (JsonDataSerializer)DataSerializer.Create();

#pragma warning disable IDE0034 // Simplify 'default' expression (illustrative of method signature)
            var tries = new Action[]
            {
                () => json.Deserialize <int>(default(Stream)),
                () => json.DeserializeFrom <int>(default(TextReader)),
                () => json.DeserializeFrom <int>(default(JsonReader)),
                () => json.Serialize(42, default(Stream)),
                () => json.SerializeTo(42, default(TextWriter)),
                () => json.SerializeTo(42, default(JsonWriter)),
            };
#pragma warning restore IDE0034 // Simplify 'default' expression

            foreach (var t in tries)
            {
                Assert.ThrowsException <ArgumentNullException>(t);
            }
        }
Пример #5
0
        public void DataSerializer_Create_ArgumentChecks()
        {
#pragma warning disable IDE0034 // Simplify 'default' expression (illustrative of method signature)
            var tries = new Action[]
            {
                () => DataSerializer.Create(default(IExpressionSerializer)),
                () => DataSerializer.Create(default(Func <Expression, string>), _ => null),
                () => DataSerializer.Create(e => null, default(Func <string, Expression>)),

#pragma warning disable 618 // Deprecated
                () => DataSerializer.Create(default(IExpressionSerializer), includePrivate: false),
                () => DataSerializer.Create(default(Func <Expression, string>), _ => null, includePrivate: false),
                () => DataSerializer.Create(e => null, default(Func <string, Expression>), includePrivate: false),
#pragma warning restore 618     // Deprecated
            };
#pragma warning restore IDE0034 // Simplify 'default' expression

            foreach (var t in tries)
            {
                Assert.ThrowsException <ArgumentNullException>(t);
            }
        }
Пример #6
0
        public void DataSerializer_Create_Simple()
        {
            var sh = new SerializationHelper();

            var es = sh.ExpressionSerializer;

            var sers = new[]
            {
                DataSerializer.Create(),
                DataSerializer.Create(es),
                DataSerializer.Create(e => null, _ => null),

#pragma warning disable 618 // Deprecated
                DataSerializer.Create(es, includePrivate: false),
                DataSerializer.Create(e => null, _ => null, includePrivate: false),
#pragma warning restore 618 // Deprecated
            };

            foreach (var ser in sers)
            {
                AssertRoundtrips(ser);
            }
        }