Example #1
0
        public void Clone()
        {
            var list = new EdgeList <int, EquatableEdge <int> >();

            EdgeList <int, EquatableEdge <int> > clonedList = list.Clone();

            CollectionAssert.IsEmpty(clonedList);

            clonedList = (EdgeList <int, EquatableEdge <int> >)((IEdgeList <int, EquatableEdge <int> >)list).Clone();
            CollectionAssert.IsEmpty(clonedList);

            clonedList = (EdgeList <int, EquatableEdge <int> >)((ICloneable)list).Clone();
            CollectionAssert.IsEmpty(clonedList);

            list.AddRange(new[]
            {
                new EquatableEdge <int>(1, 2),
                new EquatableEdge <int>(2, 3)
            });
            clonedList = list.Clone();
            CollectionAssert.AreEqual(list, clonedList);

            clonedList = (EdgeList <int, EquatableEdge <int> >)((IEdgeList <int, EquatableEdge <int> >)list).Clone();
            CollectionAssert.AreEqual(list, clonedList);

            clonedList = (EdgeList <int, EquatableEdge <int> >)((ICloneable)list).Clone();
            CollectionAssert.AreEqual(list, clonedList);
        }