feat: remove duplicated gcd-like functions (#1642)

* feat: remove duplicated `gcd`-like functions

* Updated Documentation in README.md

---------

Co-authored-by: vil02 <vil02@users.noreply.github.com>
This commit is contained in:
Piotr Idzik
2024-03-16 04:59:14 +01:00
committed by GitHub
parent 0204198465
commit bd34e9fa61
4 changed files with 46 additions and 55 deletions

View File

@@ -1,22 +1,25 @@
import { GetEuclidGCD } from '../GetEuclidGCD'
import { GetEuclidGCD, GetEuclidGCDRecursive } from '../GetEuclidGCD'
describe('GetEuclidGCD', () => {
it.each([
[5, 20, 5],
[109, 902, 1],
[290, 780, 10],
[104, 156, 52],
[0, 100, 100],
[-5, 50, 5],
[0, 0, 0],
[1, 1234567, 1]
])('returns correct result for %i and %j', (inputA, inputB, expected) => {
expect(GetEuclidGCD(inputA, inputB)).toBe(expected)
expect(GetEuclidGCD(inputB, inputA)).toBe(expected)
})
describe.each([GetEuclidGCD, GetEuclidGCDRecursive])(
'%# GetEuclidGCD',
(gcdFunction) => {
it.each([
[5, 20, 5],
[109, 902, 1],
[290, 780, 10],
[104, 156, 52],
[0, 100, 100],
[-5, 50, 5],
[0, 0, 0],
[1, 1234567, 1]
])('returns correct result for %i and %j', (inputA, inputB, expected) => {
expect(gcdFunction(inputA, inputB)).toBe(expected)
expect(gcdFunction(inputB, inputA)).toBe(expected)
})
it('should throw when any of the inputs is not a number', () => {
expect(() => GetEuclidGCD('1', 2)).toThrowError()
expect(() => GetEuclidGCD(1, '2')).toThrowError()
})
})
it('should throw when any of the inputs is not a number', () => {
expect(() => gcdFunction('1', 2)).toThrowError()
expect(() => gcdFunction(1, '2')).toThrowError()
})
}
)