public void GCDByStein_TakesTwoNumsAndTimeParameters_PositiveTestResult(uint num1, uint num2, uint expected)
        {
            uint actual = FindGCD.GCDByStein(num1, num2, out _time);

            Assert.AreEqual(expected, actual);
            Assert.IsTrue(_time != TimeSpan.FromSeconds(0));
        }
        public void EuclideanBinaryAlgorithmMethod_paramsGCD_returned10(int expected, params int[] a)
        {
            int    actual;
            string time;

            (actual, time) = FindGCD.EuclideanAlgorithmMethod(a);

            Assert.AreEqual(expected, actual);
            Assert.Pass();
        }
        public void EuclidGCD_34_68()
        {
            int firstNumber  = 34;
            int secondNumber = 68;
            int expected     = 34;

            int actual = FindGCD.FindEuclidGCD(firstNumber, secondNumber);

            Assert.AreEqual(expected, actual);
        }
        public void EuclidGCD_17_8()
        {
            int firstNumber  = 17;
            int secondNumber = 8;
            int expected     = 1;

            int actual = FindGCD.FindEuclidGCD(firstNumber, secondNumber);

            Assert.AreEqual(expected, actual);
        }
        public void EuclidGCD_24_16()
        {
            int firstNumber  = 24;
            int secondNumber = 16;
            int expected     = 8;

            int actual = FindGCD.FindEuclidGCD(firstNumber, secondNumber);

            Assert.AreEqual(expected, actual);
        }
        public void EuclideanBinaryAlgorithmMethod_numberOneandnumberTwo_returned10(int expected, int numberOne, int numberTwo)
        {
            int    actual;
            string time;

            (actual, time) = FindGCD.EuclideanBinaryAlgorithmMethod(numberOne, numberTwo);

            Assert.AreEqual(expected, actual);
            Assert.Pass();
        }
        public void EuclidGCD_minus10_15()
        {
            int firstNumber  = -10;
            int secondNumber = 15;
            int expected     = 5;

            int actual = FindGCD.FindEuclidGCD(firstNumber, secondNumber);

            Assert.AreEqual(expected, actual);
        }
        public void EuclidGCD_0_0()
        {
            int firstNumber  = 0;
            int secondNumber = 0;
            int expected     = 0;

            int actual = FindGCD.FindEuclidGCD(firstNumber, secondNumber);

            Assert.AreEqual(expected, actual);
        }
        public void SteinGCD_10_15_20()
        {
            int firstNumber  = 10;
            int secondNumber = 15;
            int thirdNumber  = 20;
            int expected     = 5;

            int actual = FindGCD.FindSteinGCD(firstNumber, secondNumber, thirdNumber);

            Assert.AreEqual(expected, actual);
        }
        public void SteinGCD_minus12_18_36()
        {
            int firstNumber  = -12;
            int secondNumber = 18;
            int thirdNumber  = 36;
            int expected     = 6;

            int actual = FindGCD.FindSteinGCD(firstNumber, secondNumber, thirdNumber);

            Assert.AreEqual(expected, actual);
        }
        public void SteinGCD_0_14_0()
        {
            int firstNumber  = 0;
            int secondNumber = 14;
            int thirdNumber  = 0;
            int expected     = 14;

            int actual = FindGCD.FindSteinGCD(firstNumber, secondNumber, thirdNumber);

            Assert.AreEqual(expected, actual);
        }
示例#12
0
        public void EuclideanBinaryAlgorithmMethod_3and10_1_GCD_Returned()
        {
            int expected = 1;

            int    actual;
            string time;

            (actual, time) = FindGCD.EuclideanBinaryAlgorithmMethod(3, 10);

            Assert.AreEqual(expected, actual);
        }
示例#13
0
        public void EuclideanAlgorithmMethod_10and20and160and40_10_GCD_Returned()
        {
            int expected = 10;

            int    actual;
            string time;

            (actual, time) = FindGCD.EuclideanAlgorithmMethod(10, 20, 160, 40);

            Assert.AreEqual(expected, actual);
        }
        public void SteinGCD_minus10_minus14_minus20()
        {
            int firstNumber  = -10;
            int secondNumber = -14;
            int thirdNumber  = -20;
            int expected     = 2;

            int actual = FindGCD.FindSteinGCD(firstNumber, secondNumber, thirdNumber);

            Assert.AreEqual(expected, actual);
        }
        public void binary_GCD_test()
        {
            // arrange
            int[] a        = { 100, 22, 44, 2, 1000 };
            int   expected = 2;
            // act

            int actual = FindGCD.MyBinaryGCD(a);

            // assert
            Assert.AreEqual(actual, expected);
        }
        public void SteinGCD_8_12_28_32()
        {
            int firstNumber  = 8;
            int secondNumber = 12;
            int thirdNumber  = 28;
            int forthNumber  = 32;
            int expected     = 4;

            int actual = FindGCD.FindSteinGCD(firstNumber, secondNumber, thirdNumber, forthNumber);

            Assert.AreEqual(expected, actual);
        }
        public void Delegate_EuclidGCD_minus10_minus14_minus20()
        {
            int firstNumber  = 24;
            int secondNumber = 16;
            int expected     = 8;

            Func <int, int, int> solver = new Func <int, int, int>(FindGCD.FindEuclidGCD);

            int actual = FindGCD.FindGcdByDelegate(firstNumber, secondNumber, solver);

            Assert.AreEqual(expected, actual);
        }
示例#18
0
        public void TestMethodForEuclideanGCDWithTwoParameters()
        {
            first  = random.Next(-1000, 1000);                             // first random input parametr
            second = random.Next(-1001, 1001);                             // second random input parametr

            result = FindGCD.EuclideanGCD(first, second, out double time); // result of GCD calculation

            if (VerifyGCD(result, first, second))                          // verifying result GCD
            {
                ok = true;
            }
            else
            {
                ok = false;
            }

            Assert.IsTrue(ok);                                  // if ok is true, then test passed
        }
示例#19
0
        public void TestMethodForEuclideanGCDWithThreeParameters()
        {
            first  = random.Next(-1002, 1002);                      // first random input parametr
            second = random.Next(-1003, 1003);                      // second random input parametr
            third  = random.Next(-1004, 1004);                      // third random input parametr

            result = FindGCD.EuclideanGCD(first, second, third);    // result of GCD calculation

            if (VerifyGCD(result, first, second, third))            // verifying result GCD
            {
                ok = true;
            }
            else
            {
                ok = false;
            }

            Assert.IsTrue(ok);                                  // if ok is true, then test passed
        }
示例#20
0
        public void TestMethodForEuclideanGCDWithFourParameters()
        {
            first  = random.Next(-1005, 1005);                           // first random input parametr
            second = random.Next(-1006, 1006);                           // second random input parametr
            third  = random.Next(-1007, 1007);                           // third random input parametr
            fourth = random.Next(-1008, 1008);                           // fourth random input parametr

            result = FindGCD.EuclideanGCD(first, second, third, fourth); // result of GCD calculation

            if (VerifyGCD(result, first, second, third, fourth))         // verifying result GCD
            {
                ok = true;
            }
            else
            {
                ok = false;
            }

            Assert.IsTrue(ok);                                  // if ok is true, then test passed
        }
示例#21
0
        static void Main(string[] args)
        {
            var tuple1 = FindGCD.SteinaGCDTime(8, 16);

            Console.WriteLine($"Received result: {tuple1.correctGCD} \t Execution time: {tuple1.time}");
            var tuple2 = FindGCD.SteinaGCDTime(36, 45, 81, 9, 54, 3);

            Console.WriteLine($"Received result: {tuple2.correctGCD} \t Execution time: {tuple2.time}");
            var tuple3 = FindGCD.SteinaGCDTime(14, 28, 56, 112);

            Console.WriteLine($"Received result: {tuple3.correctGCD} \t Execution time: {tuple3.time}");
            var tuple4 = FindGCD.EuclideanGCDTime(8, 16);

            Console.WriteLine($"Received result: {tuple4.correctGCD} \t Execution time: {tuple4.time}");
            var tuple5 = FindGCD.EuclideanGCDTime(36, 45, 81, 9, 54, 3);

            Console.WriteLine($"Received result: {tuple5.correctGCD} \t Execution time: {tuple5.time}");
            var tuple6 = FindGCD.EuclideanGCDTime(14, 28, 56, 112);

            Console.WriteLine($"Received result: {tuple6.correctGCD} \t Execution time: {tuple6.time}");

            Console.ReadKey();
        }
 public void GCDByEuclid_TakeZeroParameters_ThrowsArgumentException(uint num1, uint num2)
 {
     Assert.ThrowsException <ArgumentException>(() => FindGCD.GCDByEuclid(num1, num2));
 }
        public long SearchByEuclidTest(long x, long y)
        {
            var findGCD = new FindGCD();

            return(findGCD.SearchByEuclid(x, y));
        }
        public long SearchByEuclidTest(long[] array)
        {
            var findGCD = new FindGCD();

            return(findGCD.SearchByEuclid(array));
        }
        public long SearchBySteinTest(long x, long y)
        {
            var findGCD = new FindGCD();

            return(findGCD.SearchByStein(x, y));
        }
        public long SearchBySteinTest(long[] array)
        {
            var findGCD = new FindGCD();

            return(findGCD.SearchByStein(array));
        }
 public void GCDByEuclid_TakesFiveParameters_PositiveTestResult(uint num1, uint num2, uint num3, uint num4, uint num5, uint expected)
 {
     Assert.AreEqual(expected, FindGCD.GCDByEuclid(num1, num2, num3, num4, num5));
 }
 public void CompareExecMethodsTime_TakesTwoParameters_PositiveTestResult(uint num1, uint num2)
 {
     Assert.IsTrue(FindGCD.CompareExecMethodsTime(num1, num2) != (TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(0)));
 }
 public void GCDByEuclid_TakesThreeParameters_PositiveTestResult(uint num1, uint num2, uint num3, uint expected) => Assert.AreEqual(expected, FindGCD.GCDByEuclid(num1, num2, num3));
示例#30
0
 public int GCDSteinAlgorithm_FindGCD_ReturnsCorrectGCD(int[] number)
 {
     return(FindGCD.GCDUseSteinaAlgorithm(number));
 }