public static int GetGcdBySteinV3_With3ValidParameters(int firstNumber, int secondNumber, int thirdNumber) { SteinAlgorithm steinAlgorithm = new SteinAlgorithm(); Algorithm algorithm = new Algorithm(steinAlgorithm); return(algorithm.Calculate(firstNumber, secondNumber, thirdNumber)); }
public void GetGcdBySteinV3_WithManyValidParameters(int expectedResult, params int[] vs) { SteinAlgorithm steinAlgorithm = new SteinAlgorithm(); Algorithm algorithm = new Algorithm(steinAlgorithm); int result = algorithm.Calculate(vs); Assert.AreEqual(expectedResult, result); }
public void SpeedTestV3_EuclideanIsFaster() { EuclideanAlgorithm euclideanAlgorithm = new EuclideanAlgorithm(); SteinAlgorithm steinAlgorithm = new SteinAlgorithm(); Algorithm euclidean = new Algorithm(euclideanAlgorithm); Algorithm stein = new Algorithm(steinAlgorithm); long steinMilliseconds; long euclideanMilliseconds; int[] arr = Enumerable.Range(1, 100_000).ToArray(); stein.Calculate(out steinMilliseconds, arr); euclidean.Calculate(out euclideanMilliseconds, arr); Assert.IsTrue(euclideanMilliseconds < steinMilliseconds); }