public void PointlessRef() { // This is weird, but right now it's OK. string serialized = @" <Record> <recordFormatVersion>1</recordFormatVersion> <refs> <Ref id=""PLACE"" class=""DecTest.RecorderRef.RefsChildRecordable"" /> <Ref id=""ref00000"" class=""DecTest.RecorderRef.RefsChildRecordable"" /> </refs> <data> <childAone ref=""ref00000"" /> <childAtwo ref=""ref00000"" /> <childB /> <childEmpty null=""true"" /> </data> </Record>"; RefsRootRecordable deserialized = Dec.Recorder.Read <RefsRootRecordable>(serialized); Assert.IsNotNull(deserialized.childAone); Assert.IsNotNull(deserialized.childAtwo); Assert.IsNotNull(deserialized.childB); Assert.IsNull(deserialized.childEmpty); Assert.AreEqual(deserialized.childAone, deserialized.childAtwo); Assert.AreNotEqual(deserialized.childAone, deserialized.childB); }
public void Refs([Values] RecorderMode mode) { Dec.Config.TestParameters = new Dec.Config.UnitTestParameters { }; var parser = new Dec.Parser(); parser.Finish(); var refs = new RefsRootRecordable(); refs.childAone = new RefsChildRecordable(); refs.childAtwo = refs.childAone; refs.childB = new RefsChildRecordable(); refs.childEmpty = null; var deserialized = DoRecorderRoundTrip(refs, mode); Assert.IsNotNull(deserialized.childAone); Assert.IsNotNull(deserialized.childAtwo); Assert.IsNotNull(deserialized.childB); Assert.IsNull(deserialized.childEmpty); Assert.AreEqual(deserialized.childAone, deserialized.childAtwo); Assert.AreNotEqual(deserialized.childAone, deserialized.childB); }
public void RefStruct() { string serialized = @" <Record> <recordFormatVersion>1</recordFormatVersion> <refs> <Ref id=""PLACE"" class=""DecTest.RecorderRef.AStruct"" /> <Ref id=""ref00000"" class=""DecTest.RecorderRef.RefsChildRecordable"" /> </refs> <data> <childAone ref=""ref00000"" /> <childAtwo ref=""ref00000"" /> <childB /> <childEmpty null=""true"" /> </data> </Record>"; RefsRootRecordable deserialized = null; ExpectErrors(() => deserialized = Dec.Recorder.Read <RefsRootRecordable>(serialized)); Assert.IsNotNull(deserialized.childAone); Assert.IsNotNull(deserialized.childAtwo); Assert.IsNotNull(deserialized.childB); Assert.IsNull(deserialized.childEmpty); Assert.AreEqual(deserialized.childAone, deserialized.childAtwo); Assert.AreNotEqual(deserialized.childAone, deserialized.childB); }