Files
JavaScript/Maths/test/ExtendedEuclideanGCD.test.js
2021-10-21 15:06:33 +05:30

17 lines
851 B
JavaScript

import { extendedEuclideanGCD } from '../ExtendedEuclideanGCD'
describe('extendedEuclideanGCD', () => {
it('should return valid values in order for positive arguments', () => {
expect(extendedEuclideanGCD(240, 46)).toMatchObject([2, -9, 47])
expect(extendedEuclideanGCD(46, 240)).toMatchObject([2, 47, -9])
})
it('should give error on non-positive arguments', () => {
expect(() => extendedEuclideanGCD(0, 240)).toThrowError(new TypeError('Must be positive numbers'))
expect(() => extendedEuclideanGCD(46, -240)).toThrowError(new TypeError('Must be positive numbers'))
})
it('should give error on non-numeric arguments', () => {
expect(() => extendedEuclideanGCD('240', 46)).toThrowError(new TypeError('Not a Number'))
expect(() => extendedEuclideanGCD([240, 46])).toThrowError(new TypeError('Not a Number'))
})
})