示例#1
0
        public void WhenListIsEmpty_ShouldInsertItems()
        {
            var sut = new ChainedList <int>();

            sut.AddRangeAfter(sut.Head, new List <int> {
                1, 10, 19
            });

            var first  = sut.Head;
            var second = first.Next;
            var third  = second.Next;

            Assert.AreEqual(1, first.Value);
            Assert.AreEqual(10, second.Value);
            Assert.AreEqual(19, third.Value);
            Assert.IsNull(third.Next);
        }
示例#2
0
        public void WhenCalledWithPredicate_ShouldInsertItemsAfterNode()
        {
            var sut = new ChainedList <int>(new List <int> {
                1, 2
            });

            sut.AddRangeAfter(n => n.Value == 1, new List <int> {
                4, 10
            });

            var first  = sut.Head;
            var second = first.Next;
            var third  = second.Next;
            var fourth = third.Next;

            Assert.AreEqual(1, first.Value);
            Assert.AreEqual(4, second.Value);
            Assert.AreEqual(10, third.Value);
            Assert.AreEqual(2, fourth.Value);
            Assert.IsNull(fourth.Next);
        }