コード例 #1
0
        private bool IsPossibleToFill()
        {
            var gcdFinder = new GcdFinder(_firstCapacity, _secondCapacity);
            var result    = gcdFinder.Run();

            return(_targetFillAmount % result.GreaterCommonDivider == 0);
        }
コード例 #2
0
        public void Should_ReturnExpected_When_InputBothNumbersZero()
        {
            var a = 0;
            var b = 0;

            GcdFinder.FindWithEuclidean(a, b);
        }
コード例 #3
0
        public void Should_ReturnRightResult_When_InputNegativeSecondNumberAndPositiveFirstNumber()
        {
            // arrange
            var a        = 5;
            var b        = -10;
            var expected = 5;

            // act
            var actual = GcdFinder.FindWithEuclidean(a, b);

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #4
0
        public void Should_Return16_When_Input64and48()
        {
            // arrange
            var a        = 64;
            var b        = 48;
            var expected = 16;

            // act
            var actual = GcdFinder.FindWithEuclidean(a, b);

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #5
0
        public void Should_Return5_When_Input0and5()
        {
            // arrange
            var a        = 0;
            var b        = 5;
            var expected = 5;

            // act
            var actual = GcdFinder.FindWithEuclidean(a, b);

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #6
0
        public void Should_Return5_When_Input5and0()
        {
            // arrange
            var a        = 5;
            var b        = 0;
            var expected = 5;

            // act
            var actual = GcdFinder.FindWithStein(a, b);

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #7
0
        public void Should_Return16_When_Input48and64()
        {
            // arrange
            var a        = 48;
            var b        = 64;
            var expected = 16;

            // act
            var actual = GcdFinder.FindWithStein(a, b);

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #8
0
        public void Should_ReturnRightResult_When_InputNegativeBothNumbers()
        {
            // arrange
            var a        = -5;
            var b        = -10;
            var expected = 5;

            // act
            var actual = GcdFinder.FindWithStein(a, b);

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #9
0
        public void Should_Find_Gcd_Correctly()
        {
            const int m      = 1769;
            const int n      = 551;
            var       finder = new GcdFinder(m, n);

            var result = finder.Run();

            Assert.Equal(m, result.FirstNumber);
            Assert.Equal(n, result.SecondNumber);
            Assert.Equal(5, result.FirstMultiplier);
            Assert.Equal(-16, result.SecondMultiplier);
            Assert.Equal(29, result.GreaterCommonDivider);
        }
コード例 #10
0
        public void Should_Return4_When_Input12and32and36()
        {
            // arrange
            var a        = 12;
            var b        = 32;
            var c        = 36;
            var expected = 4;

            // act
            var actual = GcdFinder.FindWithEuclidean(a, b, c);

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #11
0
        public void Should_Return6_When_Input78and294and570and36()
        {
            // arrange
            var a        = 78;
            var b        = 294;
            var c        = 570;
            var d        = 36;
            var expected = 6;

            // act
            var actual = GcdFinder.FindWithEuclidean(a, b, c, d);

            // Assert
            Assert.AreEqual(expected, actual);
        }
コード例 #12
0
 public int BinaryEuclideanAlgorithm_Integers(params int[] numbers)
 {
     return(GcdFinder.BinaryEuclideanAlgorithm(numbers));
 }
コード例 #13
0
 public int BinaryEuclideanAlgorithm_Integers(int first, int second, int third)
 {
     return(GcdFinder.BinaryEuclideanAlgorithm(first, second, third));
 }
コード例 #14
0
 public int EuclideanAlgorithm_Integers(int first, int second)
 {
     return(GcdFinder.EuclideanAlgorithm(first, second));
 }