示例#1
0
        public void Removeできる()
        {
            linkedList = new ShosLinkedList1 <int> {
                10, 70, 30, 40, 60, 90, 100
            };

            Assert.IsTrue(linkedList.Remove(10));
            AssertExtensions.AreEqual(new[] { 70, 30, 40, 60, 90, 100 }, linkedList);
            Assert.IsTrue(linkedList.Remove(100));
            AssertExtensions.AreEqual(new[] { 70, 30, 40, 60, 90 }, linkedList);
            Assert.IsTrue(linkedList.Remove(40));
            AssertExtensions.AreEqual(new[] { 70, 30, 60, 90 }, linkedList);
            Assert.IsFalse(linkedList.Remove(40));
            AssertExtensions.AreEqual(new[] { 70, 30, 60, 90 }, linkedList);

            var node = linkedList.Find(70);

            linkedList.Remove(node);
            AssertExtensions.AreEqual(new[] { 30, 60, 90 }, linkedList);
            node = linkedList.Find(60);
            linkedList.Remove(node);
            AssertExtensions.AreEqual(new[] { 30, 90 }, linkedList);
            node = linkedList.Find(90);
            linkedList.Remove(node);
            AssertExtensions.AreEqual(new[] { 30 }, linkedList);
        }
示例#2
0
 public void FindTest1()
 {
     ShosLinkedList1 <int> .Node?node = null;
     for (var number = 1; number <= dataNumber; number++)
     {
         node = linkedList1.Find(dataNumber / 2);
     }
 }
示例#3
0
        public void AddBeforeできる()
        {
            linkedList = new ShosLinkedList1 <int> {
                10
            };
            linkedList.AddBefore(linkedList.First, 30);
            AssertExtensions.AreEqual(new[] { 30, 10 }, linkedList);

            linkedList.AddBefore(linkedList.Last, 90);
            AssertExtensions.AreEqual(new[] { 30, 90, 10 }, linkedList);

            var node = linkedList.Find(90);

            linkedList.AddBefore(node, 110);
            AssertExtensions.AreEqual(new[] { 30, 110, 90, 10 }, linkedList);
        }
示例#4
0
        public void AddAfterできる()
        {
            linkedList = new ShosLinkedList1 <int> {
                10
            };
            linkedList.AddAfter(linkedList.First, 70);
            AssertExtensions.AreEqual(new[] { 10, 70 }, linkedList);

            linkedList.AddAfter(linkedList.Last, 40);
            AssertExtensions.AreEqual(new[] { 10, 70, 40 }, linkedList);

            var node = linkedList.Find(70);

            linkedList.AddAfter(node, 100);
            AssertExtensions.AreEqual(new[] { 10, 70, 100, 40 }, linkedList);
        }
示例#5
0
        public void Findできる()
        {
            Assert.IsNull(linkedList.Find(100));
            linkedList.AddLast(200);
            Assert.IsNull(linkedList.Find(100));
            var node = linkedList.Find(200);

            Assert.IsNotNull(node);
            Assert.AreEqual(200, node.Value);
            Assert.AreSame(node, linkedList.First);

            linkedList.AddLast(800);
            Assert.AreEqual(200, linkedList.Find(200).Value);
            Assert.AreSame(linkedList.Find(200), linkedList.First);
            Assert.AreEqual(800, linkedList.Find(800).Value);
            Assert.AreSame(linkedList.Find(800), linkedList.Last);
        }