From 10079a7b70f9ca18ca202f6daac37e19a77b6dbf Mon Sep 17 00:00:00 2001 From: SudhanshuSuman <51868273+SudhanshuSuman@users.noreply.github.com> Date: Thu, 13 Oct 2022 17:22:59 +0530 Subject: [PATCH] Renamed NQueen file, variables to NQueens, raised RangeError exception (#1162) --- Backtracking/{NQueen.js => NQueens.js} | 7 +++++-- Backtracking/tests/NQueen.test.js | 15 --------------- Backtracking/tests/NQueens.test.js | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 17 deletions(-) rename Backtracking/{NQueen.js => NQueens.js} (92%) delete mode 100644 Backtracking/tests/NQueen.test.js create mode 100644 Backtracking/tests/NQueens.test.js diff --git a/Backtracking/NQueen.js b/Backtracking/NQueens.js similarity index 92% rename from Backtracking/NQueen.js rename to Backtracking/NQueens.js index 04c6ff3db..f75b38486 100644 --- a/Backtracking/NQueen.js +++ b/Backtracking/NQueens.js @@ -1,5 +1,8 @@ -class NQueen { +class NQueens { constructor (size) { + if (size < 0) { + throw RangeError('Invalid board size') + } this.board = new Array(size).fill('.').map(() => new Array(size).fill('.')) this.size = size this.solutionCount = 0 @@ -61,4 +64,4 @@ class NQueen { } } -export { NQueen } +export { NQueens } diff --git a/Backtracking/tests/NQueen.test.js b/Backtracking/tests/NQueen.test.js deleted file mode 100644 index 50000d1be..000000000 --- a/Backtracking/tests/NQueen.test.js +++ /dev/null @@ -1,15 +0,0 @@ -import { NQueen } from '../NQueen' - -describe('NQueen', () => { - it('should return 2 solutions for 4x4 size board', () => { - const _4Queen = new NQueen(4) - _4Queen.solve() - expect(_4Queen.solutionCount).toEqual(2) - }) - - it('should return 92 solutions for 8x8 size board', () => { - const _8Queen = new NQueen(8) - _8Queen.solve() - expect(_8Queen.solutionCount).toEqual(92) - }) -}) diff --git a/Backtracking/tests/NQueens.test.js b/Backtracking/tests/NQueens.test.js new file mode 100644 index 000000000..6eac39ad9 --- /dev/null +++ b/Backtracking/tests/NQueens.test.js @@ -0,0 +1,19 @@ +import { NQueens } from '../NQueens' + +describe('NQueens', () => { + it('should return 2 solutions for 4x4 size board', () => { + const _4Queens = new NQueens(4) + _4Queens.solve() + expect(_4Queens.solutionCount).toEqual(2) + }) + + it('should return 92 solutions for 8x8 size board', () => { + const _8Queens = new NQueens(8) + _8Queens.solve() + expect(_8Queens.solutionCount).toEqual(92) + }) + + it('should throw RangeError for negative size board', () => { + expect(() => { return new NQueens(-1) }).toThrow(RangeError) + }) +})