public void Execute() { var model = RuntimeTypeModel.Create(); model.Add(typeof(hierarchy.B), false) .Add("prop1", "prop2"); var hb = new hierarchy.B(); hb.prop1 = "prop1"; hb.prop2 = "prop2"; var ms = new MemoryStream(); model.Serialize(ms, hb); ms.Position = 0; var flatB = Serializer.Deserialize <flat.B>(ms); Assert.Equal("prop1", hb.prop1); Assert.Equal("prop2", hb.prop2); Assert.Equal("prop1", flatB.prop1); Assert.Equal("prop2", flatB.prop2); Assert.Equal("prop1=prop1, prop2=prop2", hb.ToString()); Assert.Equal("prop1=prop1, prop2=prop2", flatB.ToString()); }
public void Execute() { var model = TypeModel.Create(); MetaType t = model.Add(typeof(hierarchy.B), false); t.Add("prop1", "prop2"); // default for nullable type is minimal enhancement mode // flat will have them set same way t[1].SetSettings(x => x.V.Format = ValueFormat.MinimalEnhancement); t[2].SetSettings(x => x.V.Format = ValueFormat.MinimalEnhancement); var hb = new hierarchy.B(); hb.prop1 = "prop1"; hb.prop2 = "prop2"; var ms = new MemoryStream(); model.Serialize(ms, hb); var schemaHierarchy = model.GetDebugSchema(typeof(hierarchy.B)); var schemaFlat = model.GetDebugSchema(typeof(flat.B)); ms.Position = 0; var flatB = Serializer.Deserialize <flat.B>(ms); Assert.AreEqual("prop1", hb.prop1); Assert.AreEqual("prop2", hb.prop2); Assert.AreEqual("prop1", flatB.prop1); Assert.AreEqual("prop2", flatB.prop2); Assert.AreEqual("prop1=prop1, prop2=prop2", hb.ToString()); Assert.AreEqual("prop1=prop1, prop2=prop2", flatB.ToString()); }
public void Execute() { var model = TypeModel.Create(); model.Add(typeof(hierarchy.B), false) .Add("prop1", "prop2"); var hb = new hierarchy.B(); hb.prop1 = "prop1"; hb.prop2 = "prop2"; var ms = new MemoryStream(); model.Serialize(ms, hb); ms.Position = 0; var flatB = Serializer.Deserialize<flat.B>(ms); Assert.AreEqual("prop1", hb.prop1); Assert.AreEqual("prop2", hb.prop2); Assert.AreEqual("prop1", flatB.prop1); Assert.AreEqual("prop2", flatB.prop2); Assert.AreEqual("prop1=prop1, prop2=prop2", hb.ToString()); Assert.AreEqual("prop1=prop1, prop2=prop2", flatB.ToString()); }