Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }