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')) }) })