예제 #1
0
        public void Should_clone_array()
        {
            var arrayList = new MyArrayList();
            var clone     = arrayList.Clone();

            arrayList.Add(5);
            Assert.NotEqual(arrayList, clone);
            arrayList.Remove(5);
            Assert.Equal(arrayList, clone);
        }
예제 #2
0
        public void Should_Clone()
        {
            //arrange
            var list = new MyArrayList(5);

            list.Add(1);
            list.Add(2);
            list.Add(3);

            //act
            var clone = list.Clone();

            //assert
            clone.GetType().ShouldBeEquivalentTo(typeof(MyArrayList));
            ((MyArrayList)clone).Capacity.ShouldBeEquivalentTo(5);
            ((MyArrayList)clone).Count.ShouldBeEquivalentTo(3);

            ((MyArrayList)clone)[0].ShouldBeEquivalentTo(1);
            ((MyArrayList)clone)[1].ShouldBeEquivalentTo(2);
            ((MyArrayList)clone)[2].ShouldBeEquivalentTo(3);
        }