예제 #1
0
        public void InversionCount_BruteForce_Int_TestOnUnsortedArray()
        {
            var array = new int[] { 0, 3, 9, 1, 4, 5, 2, 7, 8, 6 };
            var count = Inversion.CountBruteForce(array);

            Assert.AreEqual(13, count);
        }
예제 #2
0
        public void InversionCount_BruteForce_Int_TestOnUnsortedArrayWithDuplicates()
        {
            var array = new int[] { 0, 3, 9, 7, 1, 4, 5, 2, 7, 8, 6, 3, 1 };
            var count = Inversion.CountBruteForce(array);

            Assert.AreEqual(36, count);
        }
예제 #3
0
        public void InversionCount_BruteForce_Int_TestOnSortedArray()
        {
            var array = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            var count = Inversion.CountBruteForce(array);

            Assert.AreEqual(0, count);
        }
예제 #4
0
        public void InversionCount_BruteForce_Int_TestOnReverseSortedArray()
        {
            var array = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
            var count = Inversion.CountBruteForce(array);

            Assert.AreEqual(45, count);
        }
예제 #5
0
        public void InversionCount_BruteForce_Int_TestOnArrayWithOneElement()
        {
            var array = new int[] { 1 };
            var count = Inversion.CountBruteForce(array);

            Assert.AreEqual(0, count);
        }
예제 #6
0
        public void InversionCount_BruteForce_Int_TestOnEmptyArray()
        {
            var array = new int[] { };
            var count = Inversion.CountBruteForce(array);

            Assert.AreEqual(0, count);
        }
예제 #7
0
        public void InversionCount_String_TestOnSortedArray()
        {
            var array   = new string[] { "a", "b", "c", "d", "e", "f", "g" };
            var ethalon = Inversion.CountBruteForce(array);
            var count   = Inversion.Count(array);

            Assert.AreEqual(ethalon, count);
        }
예제 #8
0
        public void InversionCount_String_TestOnUnsortedArrayWithDuplicates()
        {
            // inversion count = 22
            var array   = new string[] { "f", "b", "g", "a", "d", "e", "a", "c", "b" };
            var ethalon = Inversion.CountBruteForce(array);
            var count   = Inversion.Count(array);

            Assert.AreEqual(ethalon, count);
        }
예제 #9
0
        public void InversionCount_Int_TestOnUnsortedArrayWithDuplicates()
        {
            // inversion count = 36
            var array   = new int[] { 0, 3, 9, 7, 1, 4, 5, 2, 7, 8, 6, 3, 1 };
            var ethalon = Inversion.CountBruteForce(array);
            var count   = Inversion.Count(array);

            Assert.AreEqual(ethalon, count);
        }
예제 #10
0
        public void InversionCount_Int_TestOnReverseSortedArray()
        {
            // inversion count = 45
            // formula: max inversion count = n(n-1)/2
            var array   = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
            var ethalon = Inversion.CountBruteForce(array);
            var count   = Inversion.Count(array);

            Assert.AreEqual(ethalon, count);
        }