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)); }
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)); }
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); }
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); } }
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); } }
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); } }