public void Calculate_TwoIntegerMinValues_ThrowArgumentOutOfRangeException() =>
 Assert.Throws <ArgumentOutOfRangeException>(() =>
 {
     var stopwatch           = new Stopwatch();
     IGcdAlgorithm algorithm = new GcdAlgorithmWithTimePerformance(new EuclideanGcdAlgorithm(), new StopwatchAdapter(stopwatch));
     algorithm.Calculate(int.MinValue, int.MinValue);
 });
        public int Calculate_TwoIntegersGiven_ReturnGCD(int first, int second)
        {
            var           stopwatch = new Stopwatch();
            IGcdAlgorithm algorithm = new GcdAlgorithmWithTimePerformance(new EuclideanGcdAlgorithm(), new StopwatchAdapter(stopwatch));

            return(algorithm.Calculate(first, second));
        }
 public void Calculate_TwoZeroesGiven_ThrowArgumentException() =>
 Assert.Throws <ArgumentException>(() =>
 {
     var stopwatch           = new Stopwatch();
     IGcdAlgorithm algorithm = new GcdAlgorithmWithTimePerformance(new EuclideanGcdAlgorithm(), new StopwatchAdapter(stopwatch));
     algorithm.Calculate(0, 0);
 });