Пример #1
0
        public void SerializeTest(SerializeFormat format)
        {
            var    engine = new NodeEngine();
            string stream = null;

            engine.GetOrCreateNode("Node1")
            .SetColor(Colors.Coral)
            .SetPos(150, 200);

            engine.GetOrCreateNode("Node2");

            engine.Connect("Node1", "Node2");

            stream = engine.Serialize(format);

            var engine2 = new NodeEngine();

            engine2.Deserialize(stream, format);

            Assert.Equal(engine.Network.Nodes[0].Guid, engine2.Network.Nodes[0].Guid);
            Assert.Equal(engine.Network.Nodes[0].Y, engine2.Network.Nodes[0].Y);
            Assert.Equal(engine.Network.Nodes[0].HeaderColor, engine2.Network.Nodes[0].HeaderColor);

            Assert.Equal(engine.Network.Nodes.Count, engine2.Network.Nodes.Count);
            Assert.Equal(engine.Network.Connections.Count, engine2.Network.Connections.Count);
            Assert.Equal(engine.Network.Nodes.SelectMany(x => x.InputPlugs).Count(), engine2.Network.Nodes.SelectMany(x => x.InputPlugs).Count());
            Assert.Equal(engine.Network.Nodes.SelectMany(x => x.OutputPlugs).Count(), engine2.Network.Nodes.SelectMany(x => x.OutputPlugs).Count());
        }