コード例 #1
0
        [Test] public void NonHierarchicalCopy()
        {
            MetaInfo.SetAttribute(typeof(Network), "Nodes", "ObjectCopy", true);
            MetaInfo.SetAttribute(typeof(Node), "Location", "ObjectCopy", true);

            node1.Location = commonLocation;
            node2.Location = commonLocation;

            Network copy = (Network)ObjectSupport.GetCopy(network);

            Assert.AreEqual(((Node)copy.Nodes[0]).Location == ((Node)copy.Nodes[1]).Location, true);
            Assert.AreEqual(((Node)copy.Nodes[0]).Location == commonLocation, false);
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        ///
        [Test] public void SimpleCopy()
        {
            Location loc  = new Location(4, 5);
            Location loc2 = new Location();

            ObjectSupport.Copy(loc, loc2);

            Assert.AreEqual(loc2.X, 4, "Copy simple object (1)");
            Assert.AreEqual(loc2.Y, 5, "Copy simple object (2)");

            Location loc3 = (Location)ObjectSupport.GetCopy(loc);

            Assert.AreEqual(loc3.X, 4, "GetCopy simple object (1)");
            Assert.AreEqual(loc3.Y, 5, "GetCopy simple object (2)");
        }
コード例 #3
0
        [Test] public void NestedCopy()
        {
            MetaInfo.SetAttribute(typeof(Network), "Nodes", "ObjectCopy", false);

            Network copy = (Network)ObjectSupport.GetCopy(network);

            Assert.AreEqual("Node1", ((Node)copy.Nodes[0]).Name, "Name of Node1");
            Assert.AreEqual("Node2", ((Node)copy.Nodes[1]).Name, "Name of Node2");

            Assert.AreSame(node1, ((Node)copy.Nodes[0]), "No copy of node1");
            Assert.AreEqual(35, ((Node)copy.Nodes[0]).Location.X, "Location X");

            MetaInfo.SetAttribute(typeof(Network), "Nodes", "ObjectCopy", true);
            Network copy2 = (Network)ObjectSupport.GetCopy(network);

            Assert.AreEqual("Node1", ((Node)copy2.Nodes[0]).Name, "Name of node1 when node is copied");
            Assert.AreEqual(false, ((Node)copy2.Nodes[0]) == node1, "Copy of node1");
        }