コード例 #1
0
        public void IDataContainer_Remove_RemovesCommonProperties()
        {
            IDataContainer A = DataContainerBuilder.Create("A")
                               .Data("A", 1)
                               .Data("B", 2)
                               .Data("C", 3)
                               .DataContainer("AA", b => b
                                              .Data("A1", 11)
                                              .Data("A2", 12))
                               .Data("D", 4)
                               .Build();

            var cloneA = A.Clone() as IDataContainer;

            IDataContainer B = DataContainerBuilder.Create("B")
                               .Data("F", 1)
                               .Data("B", 2)
                               .Data("C", 3)
                               .Data("X", 4)
                               .Data("Y", 2)
                               .Data("Z", 3)
                               .Build();

            var cloneB = B.Clone() as IDataContainer;

            cloneA.Remove(B);
            cloneB.Remove(A);

            Assert.Equal(3, cloneA.Count); // remove B,C from A
            Assert.Equal(4, cloneB.Count); // remove B,C from B
        }
コード例 #2
0
        public void IDataContainer_Clone_WorksForValueTypes()
        {
            IDataContainer A = DataContainerBuilder.Create("A")
                               .Data("A", 1)
                               .Data("B", new Color(1, 1, 1))
                               .Build();

            IDataContainer clone = (IDataContainer)A.Clone();

            Assert.Equal(A.Count, clone.Count);
            Assert.True(A.GetKeys().SequenceEqual(clone.GetKeys()));
            Assert.Equal(A["A"], clone["A"]);
            Assert.Equal(A["B"], clone["B"]);
        }
コード例 #3
0
        public void IDataCointainer_Clone_WorksForReferenceTypes()
        {
            IDataContainer A = DataContainerBuilder.Create("A")
                               .Data("A", new object())
                               .Data("B", new object())
                               .Build();

            IDataContainer clone = (IDataContainer)A.Clone();

            Assert.Equal(A.Count, clone.Count);
            Assert.True(A.GetKeys().SequenceEqual(clone.GetKeys()));

            Assert.NotSame(A["A"], clone["A"]);
            Assert.NotSame(A["B"], clone["B"]);
        }