Skip to content

Commit 10079a7

Browse files
Renamed NQueen file, variables to NQueens, raised RangeError exception (TheAlgorithms#1162)
1 parent 5a6b1d0 commit 10079a7

File tree

3 files changed

+24
-17
lines changed

3 files changed

+24
-17
lines changed

Backtracking/NQueen.js renamed to Backtracking/NQueens.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
class NQueen {
1+
class NQueens {
22
constructor (size) {
3+
if (size < 0) {
4+
throw RangeError('Invalid board size')
5+
}
36
this.board = new Array(size).fill('.').map(() => new Array(size).fill('.'))
47
this.size = size
58
this.solutionCount = 0
@@ -61,4 +64,4 @@ class NQueen {
6164
}
6265
}
6366

64-
export { NQueen }
67+
export { NQueens }

Backtracking/tests/NQueen.test.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

Backtracking/tests/NQueens.test.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { NQueens } from '../NQueens'
2+
3+
describe('NQueens', () => {
4+
it('should return 2 solutions for 4x4 size board', () => {
5+
const _4Queens = new NQueens(4)
6+
_4Queens.solve()
7+
expect(_4Queens.solutionCount).toEqual(2)
8+
})
9+
10+
it('should return 92 solutions for 8x8 size board', () => {
11+
const _8Queens = new NQueens(8)
12+
_8Queens.solve()
13+
expect(_8Queens.solutionCount).toEqual(92)
14+
})
15+
16+
it('should throw RangeError for negative size board', () => {
17+
expect(() => { return new NQueens(-1) }).toThrow(RangeError)
18+
})
19+
})

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy