forked from TheAlgorithms/JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMobiusFunction.test.js
More file actions
19 lines (15 loc) · 903 Bytes
/
MobiusFunction.test.js
File metadata and controls
19 lines (15 loc) · 903 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { mobiusFunction } from '../MobiusFunction'
const expectedValuesArray = [1, -1, -1, 0, -1, 1, -1, 0, 0, 1, -1, 0, -1, 1, 1, 0, -1, 0, -1, 0, 1, 1, -1, 0, 0, 1, 0, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, 1, 1, 0, -1, -1, -1, 0, 0, 1, -1, 0, 0, 0, 1, 0, -1, 0, 1, 0, 1, 1, -1, 0, -1, 1, 0, 0, 1, -1, -1, 0, 1, -1, -1, 0, -1, 1, 0, 0, 1, -1, -1, 0, 0, 1, -1, 0, 1, 1, 1, 0, -1, 0, 1, 0, 1, 1, 1, 0, -1, 0, 0, 0]
describe('Testing mobius function', () => {
for (let i = 1; i <= 100; i++) {
it('Testing for number = ' + i + ', should return ' + expectedValuesArray[i], () => {
expect(mobiusFunction(i)).toBe(expectedValuesArray[i - 1])
})
}
it('should throw error when supplied negative numbers', () => {
expect(() => { mobiusFunction(-1) }).toThrow(Error)
})
it('should throw error when supplied zero', () => {
expect(() => { mobiusFunction(0) }).toThrow(Error)
})
})