コード例 #1
0
        static void Main(string[] args)
        {
            //MyList<int> myList = new MyList<int>();
            //List<int> ts = new List<int>();
            //ts.Add(2);
            //ts.Add(5);
            //foreach (var item in ts)
            //{
            //    Console.WriteLine(item);
            //}

            MyLinkedList <ValueType> myLinkedList = new MyLinkedList <ValueType>();

            myLinkedList.Add(0, 4);
            myLinkedList.Add(1, 2);
            myLinkedList.Add(2, 19);

            //Console.WriteLine(myLinkedList.Get(2));
            //Console.WriteLine(myLinkedList.Contains(2));
            //Console.WriteLine(myLinkedList.IndexOf(2));
            //Console.WriteLine(myLinkedList.Count());
            //Console.WriteLine(myLinkedList.IndexOf(20));
            //Console.WriteLine(myLinkedList.Get(1));
            Console.ReadLine();
        }
コード例 #2
0
 public void ContainTest()
 {
     MyList<int> List = new MyLinkedList<int>();
     List.Add(31);
     List.Add(9);
     Assert.AreEqual(List.Contains(31), true);
 }
コード例 #3
0
 public void NotContainTest()
 {
     MyList<int> List = new MyLinkedList<int>();
     List.Add(31);
     List.Add(9);
     Assert.AreEqual(List.Contains(63), false);
 }
コード例 #4
0
        public void Test_LinkedList_Remove()
        {
            // Arrange
            var linkedList = new MyLinkedList <int>();

            linkedList.Add(1);
            linkedList.Add(2);
            linkedList.Add(3);
            linkedList.Add(4);
            linkedList.Add(5);

            var expected = new int[] { 1, 2, 4, 5 };

            // Act
            linkedList.Remove(3);

            var actual  = new List <int>();
            var current = linkedList.Head.Next;

            while (current != null)
            {
                actual.Add(current.Key);
                current = current.Next;
            }

            // Assert
            Assert.Equal(4, linkedList.Count);
            for (int i = 0; i < expected.Length; i++)
            {
                Assert.Equal(expected[i], actual[i]);
            }
        }
コード例 #5
0
    /// <summary>
    /// Handles the gridmovement of the snake
    /// </summary>
    private void gridHandler()
    {
        //Sets gridmovetimer plus equal to time passed since the last updated frame
        gridMoveTimer += Time.deltaTime;
        //IF gridmovetimer is greater or equal to gridmovetimermax
        if (gridMoveTimer >= gridMoveTimerMax)
        {
            //sets the gapPos to the snakehead position
            gapPosition = transform.position;
            //Sets gridposition plus equal to gridmovedir, snakehead gets a new position
            gridPosition += gridMoveDirection;
            //resets the gridmovetimer
            gridMoveTimer -= gridMoveTimerMax;

            //IF it´s true that the snake ate food
            if (ate)
            {
                //a new gameobject w. id snaketail is created in the linked list at the position where the snakehead was, lastly ate is set to false again
                GameObject g = Instantiate(SnakeTail, gapPosition, Quaternion.identity);
                tail.Add(0, g);
                ate = false;
            }
            else if (tail.Count > 0)             //ELSE IF the linked list size is greater then zero, which means if there´s already exsist snaketails
            {
                //we get the last snaketail in the list, adds it first in the list, removes the reference to the last snaketail in the list and puts the last snaketail in the gapPosition the snakehead left behind
                GameObject g = tail.GetLast(tail.Count);
                tail.Add(0, tail.GetLast(tail.Count));
                tail.Remove(tail.Count - 1);
                g.transform.position = gapPosition;
            }
        }
    }
コード例 #6
0
 public void CopyConstructorTest()
 {
     MyList<int> List = new MyLinkedList<int>();
     List.Add(1);
     List.Add(2);
     MyList<int> List2 = new MyLinkedList<int>(List);
     Assert.AreEqual(List2, List);
 }
コード例 #7
0
        public void NotContainTest()
        {
            MyList <int> List = new MyLinkedList <int>();

            List.Add(31);
            List.Add(9);
            Assert.AreEqual(List.Contains(63), false);
        }
コード例 #8
0
        public void ContainTest()
        {
            MyList <int> List = new MyLinkedList <int>();

            List.Add(31);
            List.Add(9);
            Assert.AreEqual(List.Contains(31), true);
        }
コード例 #9
0
 public void ClearTest()
 {
     MyList<int> List = new MyLinkedList<int>();
     List.Add(1);
     List.Add(2);
     List.Clear();
     Assert.AreEqual(List.Count, 0);
 }
コード例 #10
0
        public void FindNotExistingElement()
        {
            MyList <int> List = new MyLinkedList <int>();

            List.Add(8);
            List.Add(61);
            Assert.AreEqual(List.Find(5), -1);
        }
コード例 #11
0
        public void ClearTest()
        {
            MyList <int> List = new MyLinkedList <int>();

            List.Add(1);
            List.Add(2);
            List.Clear();
            Assert.AreEqual(List.Count, 0);
        }
コード例 #12
0
        public void InsertMoreThanRangeTest()
        {
            MyList <int> List = new MyLinkedList <int>();

            List.Add(55);
            List.Add(41);
            List.Insert(79, 10);
            Assert.AreEqual(List[2], 79);
        }
コード例 #13
0
        public void InsertTest()
        {
            MyList <int> List = new MyLinkedList <int>();

            List.Add(55);
            List.Add(41);
            List.Insert(79, 1);
            Assert.AreEqual(List[1], 79);
        }
コード例 #14
0
        public void GetElementInRange()
        {
            MyList <int> List = new MyLinkedList <int>();

            List.Add(52);
            List.Add(95);
            Assert.AreEqual(List.Get(0), 52);
            Assert.AreEqual(List.Get(1), 95);
        }
コード例 #15
0
        public void AddTest()
        {
            var linkedList = new MyLinkedList <int>();

            linkedList.Add(50);
            linkedList.Add(100);

            Assert.AreEqual(2, linkedList.Count);
        }
コード例 #16
0
ファイル: Q1.cs プロジェクト: srodriguez511/150Questions
 public void C2Q1()
 {
     var result = new MyLinkedList<int>();
     result.Add(1); result.Add(2); result.Add(1); result.Add(3); result.Add(1); result.Add(4); result.Add(1);
     result.RemoveDuplicates();
     var test = new MyLinkedList<int>();
     test.Add(1); test.Add(2); test.Add(3); test.Add(4);
     Assert.AreEqual(result, test);
 }
コード例 #17
0
        public void Get_index_greater_than_Count_throws_Exception()
        {
            var ll = new MyLinkedList <string>();

            ll.Add("one");
            ll.Add("two");
            ll.Add("one");
            ll.Get(3);
        }
コード例 #18
0
        private static MyLinkedList <int> CreateList()
        {
            var list = new MyLinkedList <int>();

            list.Add(10);
            list.Add(15);
            list.Add(20);
            return(list);
        }
コード例 #19
0
ファイル: Q3.cs プロジェクト: srodriguez511/150Questions
 public void C2Q3()
 {
     var ll = new MyLinkedList<int>();
     ll.Add(1); ll.Add(2); ll.Add(3); ll.Add(4); ll.Add(5);
     ll.DeleteMiddle(ll.FindMiddleNode());
     var test = new MyLinkedList<int>();
     test.Add(1); test.Add(2); test.Add(4); test.Add(5);
     Assert.AreEqual(ll, test);
 }
コード例 #20
0
        public void RemoveExistingElementTest()
        {
            MyList <int> List = new MyLinkedList <int>();

            List.Add(75);
            List.Add(57);
            List.Add(50);
            Assert.AreEqual(List.Remove(57), true);
            Assert.AreEqual(List.Contains(57), false);
        }
コード例 #21
0
        public void CopyConstructorTest()
        {
            MyList <int> List = new MyLinkedList <int>();

            List.Add(1);
            List.Add(2);
            MyList <int> List2 = new MyLinkedList <int>(List);

            Assert.AreEqual(List2, List);
        }
コード例 #22
0
        public void elements_are_added_in_order()
        {
            var ll = new MyLinkedList <string>();

            ll.Add("one");
            ll.Add("two");

            Assert.AreEqual("one", ll.Get(0));
            Assert.AreEqual("two", ll.Get(1));
        }
コード例 #23
0
        public void Add_updates_Count()
        {
            var ll = new MyLinkedList <string>();

            ll.Add("one");
            ll.Add("two");
            ll.Add("one");

            Assert.AreEqual(3, ll.Count);
        }
コード例 #24
0
 public void CopyToLinked()
 {
     int[] array = new int[2];
     MyList<int> List = new MyLinkedList<int>();
     List.Add(51);
     List.Add(94);
     List.CopyTo(array, 0);
     Assert.AreEqual(array[0], 51);
     Assert.AreEqual(array[1], 94);
 }
コード例 #25
0
        public void TestReusable()
        {
            MyLinkedList <int> list = new MyLinkedList <int>();

            list.Add(1);
            list.Add(2);
            list.Add(3);
            int[] testDataOne = new int[] { 1, 2, 3 };
            Assert.AreEqual(true, Enumerable.SequenceEqual(testDataOne, list.ToArray()));
            Assert.AreEqual(true, Enumerable.SequenceEqual(testDataOne, list.ToArray()));
        }
コード例 #26
0
        public void CopyToLinked()
        {
            int[]        array = new int[2];
            MyList <int> List  = new MyLinkedList <int>();

            List.Add(51);
            List.Add(94);
            List.CopyTo(array, 0);
            Assert.AreEqual(array[0], 51);
            Assert.AreEqual(array[1], 94);
        }
コード例 #27
0
        public void TestGetByIndexReturnValidValue()
        {
            var LinkedList = new MyLinkedList <int>();

            LinkedList.Add(1);
            LinkedList.Add(2);
            var actual   = LinkedList.GetByIndex(0);
            var expected = 1;

            Assert.AreEqual(expected, actual);
        }
コード例 #28
0
        public void AddAfter_ElementNotExist_InvalidOperationException()
        {
            //Arrange
            var testList = new MyLinkedList <int>();

            testList.Add(22);
            testList.Add(44);

            //Act
            testList.AddAfter(33, 55);
        }
コード例 #29
0
        public void AddAfter_AddAfterLastElement_Added()
        {
            //Arrange
            var testList = new MyLinkedList <int>();

            testList.Add(22);
            testList.Add(44);

            //Act
            testList.AddAfter(44, 55);
        }
コード例 #30
0
        public void Add_Adds_OnEmpty()
        {
            var itemToAdd = new MyLinkedListNode <string>("added");

            _emptyList.Add(itemToAdd);

            Assert.AreEqual(itemToAdd, _emptyList[0]);
            Assert.AreEqual(1, _emptyList.Count);

            Assert.True(EmptyListOkay);
        }
コード例 #31
0
        public void Remove_doesnt_update_Count_if_item_not_present()
        {
            var ll = new MyLinkedList <string>();

            ll.Add("one");
            ll.Add("two");
            ll.Add("one");
            ll.Remove("three");

            Assert.AreEqual(3, ll.Count);
        }
コード例 #32
0
        public void Remove_removes_first_occurrence()
        {
            var ll = new MyLinkedList <string>();

            ll.Add("one");
            ll.Add("two");
            ll.Add("one");
            ll.Remove("one");

            Assert.AreEqual("two", ll.Get(0));
            Assert.AreEqual("one", ll.Get(1));
        }
コード例 #33
0
        public void Insert_last_works()
        {
            var ll = new MyLinkedList <string>();

            ll.Add("one");
            ll.Add("two");
            ll.Add("three");
            ll.Insert("inserted", 3);

            Assert.AreEqual("three", ll.Get(2));
            Assert.AreEqual("inserted", ll.Get(3));
        }
コード例 #34
0
        public void TestAsListMethodReturnProperValue()
        {
            var myList = new MyLinkedList <string>();

            myList.Add("No i cóż");
            myList.Add("że ze");
            myList.Add("Szwecji");
            var expected = "Szwecji";
            var actual   = myList.AsList()[2];

            Assert.AreEqual(expected, actual);
        }
コード例 #35
0
        public void Remove_null_works()
        {
            var ll = new MyLinkedList <string>();

            ll.Add(null);
            ll.Add("two");
            ll.Add("one");
            ll.Remove(null);

            Assert.AreEqual("two", ll.Get(0));
            Assert.AreEqual("one", ll.Get(1));
        }
コード例 #36
0
        public void Remove_in_the_middle_works()
        {
            var ll = new MyLinkedList <string>();

            ll.Add("one");
            ll.Add("two");
            ll.Add("three");
            ll.Remove("two");

            Assert.AreEqual("one", ll.Get(0));
            Assert.AreEqual("three", ll.Get(1));
        }
コード例 #37
0
        public void Remove_ElementNotExist_InvalidOperationException()
        {
            //Arrange
            var testList = new MyLinkedList <int>();

            testList.Add(33);
            testList.Add(44);
            testList.Add(55);

            //Act
            testList.Remove(77);
        }
コード例 #38
0
 public void InvalidCopyToLinked()
 {
     int[] array = new int[2];
     MyList<int> List = new MyLinkedList<int>();
     List.Add(51);
     List.Add(94);
     try
     {
         List.CopyTo(array, 2);
     }
     catch (IndexOutOfRangeException e)
     {
         StringAssert.Contains(e.Message, "Индекс вне диапазона.");
     }
 }
コード例 #39
0
ファイル: Tester.cs プロジェクト: jesusico83/Telerik
        static void Main(string[] args)
        {
            MyLinkedList<string> list = new MyLinkedList<string>();

            list.AddLast("pesho");
            list.AddLast("gosho");
            list.AddLast("anna");
            list.Add(1, "mariq");
            list.AddFirst("ala bala");

            foreach (var item in list)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine();

            list.Remove("anna");
            list.RemoveFirst();
            list.RemoveLast();

            foreach (var item in list)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine();

            list.Clear();

            Console.WriteLine(list.Count);
        }
コード例 #40
0
ファイル: Starter.cs プロジェクト: kaloyan-penkov/SoftUni
 private static void AddElements(MyLinkedList<int> myLList, int count)
 {
     for (int i = 0; i < count; i++)
     {
         myLList.Add(i);
     }
 }
コード例 #41
0
        public void AddTest()
        {
            int actualValue = 38;
            MyList<int> List = new MyLinkedList<int>();
            List.Add(actualValue);
            Assert.AreEqual(List.Count, 1);
            Assert.AreEqual(List[0], actualValue);

        }
コード例 #42
0
 public void RemoveExistingElementTest()
 {
     MyList<int> List = new MyLinkedList<int>();
     List.Add(75);
     List.Add(57);
     List.Add(50);
     Assert.AreEqual(List.Remove(57), true);
     Assert.AreEqual(List.Contains(57), false);
 }
コード例 #43
0
 public void GetElementInRange()
 {
     MyList<int> List = new MyLinkedList<int>();
     List.Add(52);
     List.Add(95);
     Assert.AreEqual(List.Get(0), 52);
     Assert.AreEqual(List.Get(1), 95);
 }
コード例 #44
0
 public void GetElementOutOfRange()
 {
     MyList<int> List = new MyLinkedList<int>();
     List.Add(52);
     List.Add(95);
     try
     {
         List.Get(2);
     }
     catch (IndexOutOfRangeException e)
     {
         StringAssert.Contains(e.Message, "Индекс вне диапазона.");
     }
 }
コード例 #45
0
 public void InsertTest()
 {
     MyList<int> List = new MyLinkedList<int>();
     List.Add(55);
     List.Add(41);
     List.Insert(79, 1);
     Assert.AreEqual(List[1], 79);
 }
コード例 #46
0
 public void InsertMoreThanRangeTest()
 {
     MyList<int> List = new MyLinkedList<int>();
     List.Add(55);
     List.Add(41);
     List.Insert(79, 10);
     Assert.AreEqual(List[2], 79);
 }
コード例 #47
0
 public void FindExistingElement()
 {
     MyList<int> List = new MyLinkedList<int>();
     List.Add(8);
     List.Add(61);
     Assert.AreEqual(List.Find(8), 0);
     Assert.AreEqual(List.Find(61), 1);
 }