Пример #1
0
        public void MyLinkedList_6_ToString_4_VariousOperations2()
        {
            // Arrange
            IMyLinkedList <string> lst = DSBuilder.CreateMyLinkedList();

            lst.AddFirst("1");
            lst.AddFirst("2");
            lst.Insert(1, "4");
            lst.RemoveFirst();

            string expected = "[4,1]";

            // Act
            string actual = lst.ToString();

            // Assert
            Assert.AreEqual(expected, actual);
        }
Пример #2
0
        public void MyLinkedList_5_Insert_14_GetMiddleOkAfterInsertInMiddleOnList3()
        {
            // Arrange
            IMyLinkedList <string> lst = DSBuilder.CreateMyLinkedList();

            lst.AddFirst("1");
            lst.AddFirst("2");
            lst.AddFirst("3");
            string expected = "4";

            // Act
            lst.Insert(1, "4");
            lst.RemoveFirst();
            string actual = lst.GetFirst();

            // Assert
            Assert.AreEqual(expected, actual);
        }
        public void Sort(string sorterName, int n)
        {
            List <int> list = new List <int>();
            List <int> listCopy;
            Sorter     sorter;

            System.Random random = new System.Random();

            // Arrange
            if (sorterName == "InsertionSort")
            {
                sorter = DSBuilder.CreateInsertionSorter();
            }
            else if (sorterName == "MergeSort")
            {
                sorter = DSBuilder.CreateMergeSorter();
            }
            else if (sorterName == "ShellSort")
            {
                sorter = DSBuilder.CreateShellSorter();
            }
            else
            {
                sorter = null;
            }
            Assert.IsNotNull(sorter != null);

            // Arrange
            for (int i = 0; i < n; i++)
            {
                list.Add(random.Next(0, 100000));
            }
            listCopy = new List <int>(list);
            listCopy.Sort();

            // Act
            sorter.Sort(list);

            // Assert
            bool equal = list.SequenceEqual(listCopy);

            Assert.IsTrue(equal);
        }
        public void MyArrayList_8_CountOccurences_5_ReturnsProperResultAfterCleanAndAdd()
        {
            // Arrange
            IMyArrayList lst      = DSBuilder.CreateMyArrayList();
            int          expected = 1;

            // Act
            lst.Add(3);
            lst.Add(2);
            lst.Add(3);
            lst.Add(4);
            lst.Add(3);
            lst.Clear();
            lst.Add(3);
            int actual = lst.CountOccurences(3);

            // Assert
            Assert.AreEqual(expected, actual);
        }
Пример #5
0
        static void Opgave2()
        {
            PriorityQueue <int> pq = new PriorityQueue <int>();

            // 4, 19, 3, 5, 12, 9, 2
            pq.Add(4);
            pq.Add(19);
            pq.Add(3);
            pq.Add(5);
            pq.Add(12);
            pq.Add(9);
            pq.Add(2);
            System.Console.WriteLine(pq);
            pq.Remove();
            System.Console.WriteLine(pq);  //3 5 4 19 12 9

            IPriorityQueue <int> q = DSBuilder.CreatePriorityQueueFull();

            q.Add(5);
        }
        public void Sort(
            [Values("QuickSort")] string sorterName,
            [Values(0, 10, 300)] int n)
        {
            List <int> list = new List <int>();
            List <int> listCopy;
            Sorter     sorter;

            System.Random random = new System.Random();

            // Arrange
            if (sorterName == "QuickSort")
            {
                sorter = DSBuilder.CreateQuickSorter();
            }
            else
            {
                sorter = null;
            }
            Assert.IsNotNull(sorter != null);

            // Arrange
            for (int i = 0; i < n; i++)
            {
                list.Add(random.Next(0, 100000));
            }
            listCopy = new List <int>(list);
            listCopy.Sort();

            // Act
            sorter.Sort(list);

            // Assert
            bool equal = list.SequenceEqual(listCopy);

            Assert.IsTrue(equal);
        }
Пример #7
0
        static void Opgave2()
        {
            System.Console.WriteLine("\n=====   Opgave 2 : FirstChildNextSibling   =====\n");

            IFirstChildNextSibling <string> tree;

            // Empty tree
            tree = DSBuilder.CreateFirstChildNextSibling_Empty();
            tree.PrintPreOrder();
            System.Console.WriteLine("Size: {0}", tree.Size());
            System.Console.WriteLine(tree);

            // Small tree
            tree = DSBuilder.CreateFirstChildNextSibling_Small();
            tree.PrintPreOrder();
            System.Console.WriteLine("Size: {0}", tree.Size());
            System.Console.WriteLine(tree);

            // Tree from figure 18.3
            tree = DSBuilder.CreateFirstChildNextSibling_18_3();
            tree.PrintPreOrder();
            System.Console.WriteLine("Size: {0}", tree.Size());
            System.Console.WriteLine(tree);
        }
Пример #8
0
        static void Main(string[] args)
        {
            IGraph graph14_1 = DSBuilder.CreateGraphFromBook14_1();
            IGraph graph;

            System.Console.WriteLine(graph14_1);
            graph14_1.Dijkstra("V0");
            System.Console.WriteLine(graph14_1);

            graph = new Graph();
            graph.AddVertex("A", "Q");
            graph.AddVertex("B", "R");
            graph.AddVertex("C", "R");
            graph.AddVertex("D", "R");
            graph.AddVertex("E", "R");
            graph.AddVertex("F", "S");
            graph.AddVertex("G", "R");

            graph.AddUndirectedEdge("A", "B", 2);
            graph.AddUndirectedEdge("A", "C", 3);
            graph.AddUndirectedEdge("A", "G", 4);

            graph.AddUndirectedEdge("B", "C", 8);
            graph.AddUndirectedEdge("B", "D", 10);
            graph.AddUndirectedEdge("B", "F", 3);

            graph.AddUndirectedEdge("C", "E", 5);

            graph.AddUndirectedEdge("D", "E", 2);
            graph.AddUndirectedEdge("D", "F", 4);

            System.Console.WriteLine(graph);
            graph.RegioDijkstra("A");
            System.Console.WriteLine(graph);
            System.Console.WriteLine(graph.AllPaths());
        }