From e6f60d09e7823b5587a1b02dc1c902b46dae5823 Mon Sep 17 00:00:00 2001 From: Sudhanshu Suman Date: Mon, 10 Oct 2022 22:06:20 +0530 Subject: [PATCH] Renamed NQueen file, variables to NQueens, raised RangeError exception --- 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 04c6ff3dbd..f75b384869 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 50000d1be1..0000000000 --- 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 0000000000..6eac39ad90 --- /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) + }) +})