public void BothDashboardsSerialize() { var project = new MyProject(); project.CreateWorld(typeof(MyTestingWorld)); project.Network = new MyNetwork(); var node = project.CreateNode <Node>(); node.Name = "Foo"; project.Network.AddChild(node); var dashboard = new Dashboard(); foreach (PropertySetup propertySetup in GetPropertyExamples(project)) { dashboard.Add(propertySetup.Target, propertySetup.PropertyName); } var groupDashboard = new GroupDashboard(); groupDashboard.Properties.Add(new DashboardPropertyGroup("Group 1")); groupDashboard.Properties[0].Add(dashboard.Properties[0]); YAXSerializer serializer = MyProject.GetSerializer <Dashboard>(); YAXSerializer groupSerializer = MyProject.GetSerializer <GroupDashboard>(); string serializedDashboard = serializer.Serialize(dashboard); string serializedGroupDashboard = groupSerializer.Serialize(groupDashboard); Dashboard deserializedDashboard = (Dashboard)serializer.Deserialize(serializedDashboard); deserializedDashboard.RestoreFromIds(project); project.Dashboard = deserializedDashboard; GroupDashboard deserializedGroupDashboard = (GroupDashboard)groupSerializer.Deserialize(serializedGroupDashboard); deserializedGroupDashboard.RestoreFromIds(project); project.GroupedDashboard = deserializedGroupDashboard; var compareLogic = new CompareLogic(new ComparisonConfig { MaxDifferences = 20, MembersToIgnore = new List <string> { "Proxy", "GenericProxy" } }); ComparisonResult result = compareLogic.Compare(dashboard, deserializedDashboard); m_output.WriteLine(result.DifferencesString); Assert.True(result.AreEqual); result = compareLogic.Compare(groupDashboard, deserializedGroupDashboard); m_output.WriteLine(result.DifferencesString); Assert.True(result.AreEqual); }
public void IgnoresMissingProperty() { var serializer = MyProject.GetSerializer <PropertyMissingTest>(); var content = File.ReadAllText(@"Data\property_missing_test.txt"); var deserialized = serializer.Deserialize(content) as PropertyMissingTest; Assert.NotNull(deserialized); }
public void DeserializesNewPropertyWithDefaultValue() { var serializer = MyProject.GetSerializer <PropertyAddedTest>(); var content = File.ReadAllText(@"Data\property_added_test.txt"); var deserialized = serializer.Deserialize(content) as PropertyAddedTest; Assert.NotNull(deserialized); Assert.Equal("bar", deserialized.NewProperty); }
public void SerializesDictionary() { var serializer = MyProject.GetSerializer <DictionaryTest>(); var dictTest = new DictionaryTest(); dictTest.Dict.Add("foo", 1); dictTest.Dict.Add("bar", 2); var content = serializer.Serialize(dictTest); //File.WriteAllText(@"Data\serializes_dict.txt", content); Assert.Equal(File.ReadAllText(@"Data\serializes_dict.txt"), content); }