diff --git a/package-lock.json b/package-lock.json index 8314dcef..fdebaaf2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "eslint-config-airbnb-base": "15.0.0", "eslint-config-prettier": "10.1.5", "eslint-plugin-import": "2.31.0", - "eslint-plugin-jest": "28.12.0", + "eslint-plugin-jest": "28.13.0", "eslint-plugin-prettier": "5.4.1", "eslint-watch": "8.0.0", "globals": "^16.0.0", @@ -2959,10 +2959,11 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "28.12.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.12.0.tgz", - "integrity": "sha512-J6zmDp8WiQ9tyvYXE+3RFy7/+l4hraWLzmsabYXyehkmmDd36qV4VQFc7XzcsD8C1PTNt646MSx25bO1mdd9Yw==", + "version": "28.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.13.0.tgz", + "integrity": "sha512-4AuBcFWOriOeEqy6s4Zup/dQ7E1EPTyyfDaMYmM2YP9xEWPWwK3yYifH1dzY6aHRvyx7y53qMSIyT5s+jrorsQ==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0" }, @@ -8923,9 +8924,9 @@ } }, "eslint-plugin-jest": { - "version": "28.12.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.12.0.tgz", - "integrity": "sha512-J6zmDp8WiQ9tyvYXE+3RFy7/+l4hraWLzmsabYXyehkmmDd36qV4VQFc7XzcsD8C1PTNt646MSx25bO1mdd9Yw==", + "version": "28.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.13.0.tgz", + "integrity": "sha512-4AuBcFWOriOeEqy6s4Zup/dQ7E1EPTyyfDaMYmM2YP9xEWPWwK3yYifH1dzY6aHRvyx7y53qMSIyT5s+jrorsQ==", "dev": true, "requires": { "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0" diff --git a/package.json b/package.json index b08d1ddd..984da139 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "eslint-config-airbnb-base": "15.0.0", "eslint-config-prettier": "10.1.5", "eslint-plugin-import": "2.31.0", - "eslint-plugin-jest": "28.12.0", + "eslint-plugin-jest": "28.13.0", "eslint-plugin-prettier": "5.4.1", "eslint-watch": "8.0.0", "globals": "^16.0.0", diff --git a/src/hackerrank/interview_preparation_kit/arrays/2d_array.test.js b/src/hackerrank/interview_preparation_kit/arrays/2d_array.test.js index c3f995e4..86b5859e 100644 --- a/src/hackerrank/interview_preparation_kit/arrays/2d_array.test.js +++ b/src/hackerrank/interview_preparation_kit/arrays/2d_array.test.js @@ -6,7 +6,7 @@ import TEST_CASES from './2d_array.testcases_test.json'; describe('arrays: 2d Array hourglassSum', () => { it('hourglassSum Test Cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const answer = hourglassSum(test.input); @@ -17,5 +17,7 @@ describe('arrays: 2d Array hourglassSum', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/arrays/cruch_bruteforce.test.js b/src/hackerrank/interview_preparation_kit/arrays/cruch_bruteforce.test.js index 57af871c..be5e7449 100644 --- a/src/hackerrank/interview_preparation_kit/arrays/cruch_bruteforce.test.js +++ b/src/hackerrank/interview_preparation_kit/arrays/cruch_bruteforce.test.js @@ -7,7 +7,7 @@ import { arrayManipulation } from './cruch_bruteforce.js'; describe('arrays: crush (bruteforce) small cases', () => { it('arrayManipulation Test Cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const answer = arrayManipulation(test.n, test.queries); @@ -18,5 +18,7 @@ describe('arrays: crush (bruteforce) small cases', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/arrays/cruch_optimized.test.js b/src/hackerrank/interview_preparation_kit/arrays/cruch_optimized.test.js index f1bd9e86..8ae07d61 100644 --- a/src/hackerrank/interview_preparation_kit/arrays/cruch_optimized.test.js +++ b/src/hackerrank/interview_preparation_kit/arrays/cruch_optimized.test.js @@ -7,7 +7,7 @@ import { arrayManipulation } from './cruch_optimized.js'; describe('arrays: crush (optimized)', () => { it('arrayManipulation Test Cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const answer = arrayManipulation(test.n, test.queries); @@ -18,5 +18,7 @@ describe('arrays: crush (optimized)', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/arrays/ctci_array_left_rotation.test.js b/src/hackerrank/interview_preparation_kit/arrays/ctci_array_left_rotation.test.js index 199cc9e2..774eddca 100644 --- a/src/hackerrank/interview_preparation_kit/arrays/ctci_array_left_rotation.test.js +++ b/src/hackerrank/interview_preparation_kit/arrays/ctci_array_left_rotation.test.js @@ -7,7 +7,7 @@ import ROT_LEFT_TEST_CASES from './ctci_array_left_rotation.testcases.json'; describe('ctci_array_left_rotation', () => { it('rotLeft Test cases', () => { - expect.assertions(8); + expect.assertions(9); ROT_LEFT_TEST_CASES.forEach((test) => { const answer = rotLeft(test.input, test.d_rotations); @@ -16,5 +16,7 @@ describe('ctci_array_left_rotation', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(ROT_LEFT_TEST_CASES).toHaveLength(8); }); }); diff --git a/src/hackerrank/interview_preparation_kit/arrays/minimum_swaps_2.test.js b/src/hackerrank/interview_preparation_kit/arrays/minimum_swaps_2.test.js index 7051d749..d3754953 100644 --- a/src/hackerrank/interview_preparation_kit/arrays/minimum_swaps_2.test.js +++ b/src/hackerrank/interview_preparation_kit/arrays/minimum_swaps_2.test.js @@ -7,7 +7,7 @@ import TEST_CASES from './minimum_swaps_2.testcases.json'; describe('minimum swaps 2', () => { it('minimumSwaps', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const answer = minimumSwaps(test.input); @@ -16,5 +16,7 @@ describe('minimum swaps 2', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/arrays/new_year_chaos.test.js b/src/hackerrank/interview_preparation_kit/arrays/new_year_chaos.test.js index 00bca3bd..1804bf11 100644 --- a/src/hackerrank/interview_preparation_kit/arrays/new_year_chaos.test.js +++ b/src/hackerrank/interview_preparation_kit/arrays/new_year_chaos.test.js @@ -7,7 +7,7 @@ import TEST_CASES from './new_year_chaos.testcases.json'; describe('new_year_chaos', () => { it('minimumBribes Test Cases', () => { - expect.assertions(5); + expect.assertions(6); TEST_CASES.forEach((test) => { const answer = minimumBribesText(test.input); @@ -19,5 +19,7 @@ describe('new_year_chaos', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(5); }); }); diff --git a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/count_triplets_1_bruteforce.test.js b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/count_triplets_1_bruteforce.test.js index 264aea24..9d595fa6 100644 --- a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/count_triplets_1_bruteforce.test.js +++ b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/count_triplets_1_bruteforce.test.js @@ -7,7 +7,7 @@ import SMALL_TEST_CASES from './count_triplets_1.small.testcases.json'; describe('count_triplets_1', () => { it('countTriplets test cases', () => { - expect.assertions(4); + expect.assertions(5); SMALL_TEST_CASES.forEach((test) => { const answer = countTriplets(test.input, test.r); @@ -18,5 +18,7 @@ describe('count_triplets_1', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(SMALL_TEST_CASES).toHaveLength(4); }); }); diff --git a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/count_triplets_1_optimized.test.js b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/count_triplets_1_optimized.test.js index c65ca669..78732368 100644 --- a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/count_triplets_1_optimized.test.js +++ b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/count_triplets_1_optimized.test.js @@ -7,7 +7,7 @@ import BIG_TEST_CASES from './count_triplets_1.big.testcases.json'; describe('count_triplets_1 (optimized)', () => { it('countTriplets small test cases', () => { - expect.assertions(4); + expect.assertions(5); SMALL_TEST_CASES.forEach((test) => { const answer = countTriplets(test.input, test.r); @@ -18,10 +18,12 @@ describe('count_triplets_1 (optimized)', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(SMALL_TEST_CASES).toHaveLength(4); }); it('countTriplets big test cases', () => { - expect.assertions(1); + expect.assertions(2); BIG_TEST_CASES.forEach((test) => { const answer = countTriplets(test.input, test.r); @@ -32,5 +34,7 @@ describe('count_triplets_1 (optimized)', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(BIG_TEST_CASES).toHaveLength(1); }); }); diff --git a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/ctci-ransom-note.test.js b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/ctci-ransom-note.test.js index b25782bd..8300a01b 100644 --- a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/ctci-ransom-note.test.js +++ b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/ctci-ransom-note.test.js @@ -6,7 +6,7 @@ import TEST_CASES from './ctci-ransom-note.testcases.json'; describe('ctci_ransom_note', () => { it('checkMagazine test cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((value) => { const answer = checkMagazineText(value.magazine, value.note); @@ -18,5 +18,7 @@ describe('ctci_ransom_note', () => { expect(answer).toStrictEqual(value.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/frequency_queries_bruteforce.test.js b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/frequency_queries_bruteforce.test.js index 909bbb79..2a6f65de 100644 --- a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/frequency_queries_bruteforce.test.js +++ b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/frequency_queries_bruteforce.test.js @@ -6,7 +6,7 @@ import SMALL_TEST_CASES from './frequency_queries_testcases.json'; describe('frequency_queries', () => { it('freqQuery test cases', () => { - expect.assertions(4); + expect.assertions(5); SMALL_TEST_CASES.forEach((value) => { const answer = freqQuery(value.input); @@ -15,6 +15,8 @@ describe('frequency_queries', () => { expect(answer).toStrictEqual(value.expected); }); + + expect(SMALL_TEST_CASES).toHaveLength(4); }); it('freqQuery border case', () => { diff --git a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/frequency_queries_optimized.test.js b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/frequency_queries_optimized.test.js index a17e5eb8..fa720425 100644 --- a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/frequency_queries_optimized.test.js +++ b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/frequency_queries_optimized.test.js @@ -6,7 +6,7 @@ import TEST_CASES from './frequency_queries_testcases.json'; describe('frequency_queries', () => { it('freqQuery test cases', () => { - expect.assertions(4); + expect.assertions(5); TEST_CASES.forEach((value) => { const answer = freqQuery(value.input); @@ -15,6 +15,8 @@ describe('frequency_queries', () => { expect(answer).toStrictEqual(value.expected); }); + + expect(TEST_CASES).toHaveLength(4); }); it('freqQuery border case', () => { diff --git a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.test.js b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.test.js index 5fe83a02..2563995a 100644 --- a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.test.js +++ b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.test.js @@ -6,7 +6,9 @@ import TEST_CASES from './sherlock_and_anagrams.testcases.json'; describe('sherlock_and_anagrams', () => { it('sherlockAndAnagrams test cases', () => { - expect.assertions(15); + expect.assertions(17); + + let totalTestsCount = 0; TEST_CASES.forEach((testSet) => { testSet.tests.forEach((test) => { @@ -17,7 +19,12 @@ describe('sherlock_and_anagrams', () => { ); expect(answer).toStrictEqual(test.expected); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES).toHaveLength(4); + expect(totalTestsCount).toBe(15); }); }); diff --git a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/two_strings.test.js b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/two_strings.test.js index f4699a05..08bb4e6f 100644 --- a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/two_strings.test.js +++ b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/two_strings.test.js @@ -6,7 +6,9 @@ import TEST_CASES from './two_strings.testcases.json'; describe('two_strings', () => { it('twoStrings test cases', () => { - expect.assertions(8); + expect.assertions(10); + + let totalTestsCount = 0; TEST_CASES.forEach((testCase) => { testCase.tests.forEach((test) => { @@ -17,7 +19,12 @@ describe('two_strings', () => { ); expect(answer).toStrictEqual(test.expected); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES).toHaveLength(3); + expect(totalTestsCount).toBe(8); }); }); diff --git a/src/hackerrank/interview_preparation_kit/dynamic_programming/max_array_sum.test.js b/src/hackerrank/interview_preparation_kit/dynamic_programming/max_array_sum.test.js index ed7ed9f1..34ae268d 100644 --- a/src/hackerrank/interview_preparation_kit/dynamic_programming/max_array_sum.test.js +++ b/src/hackerrank/interview_preparation_kit/dynamic_programming/max_array_sum.test.js @@ -12,7 +12,7 @@ const DECIMAL_RADIX = 10; describe('max_array_sum', () => { it('maxSubsetSum test cases', () => { - expect.assertions(4); + expect.assertions(5); ALL_TEST_CASES.forEach((test) => { const answer = maxSubsetSum(test.input).toString(DECIMAL_RADIX); @@ -21,6 +21,8 @@ describe('max_array_sum', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); it('maxSubsetSum edge case zero', () => { diff --git a/src/hackerrank/interview_preparation_kit/greedy_algorithms/angry_children.test.js b/src/hackerrank/interview_preparation_kit/greedy_algorithms/angry_children.test.js index d1a6844b..996845bb 100644 --- a/src/hackerrank/interview_preparation_kit/greedy_algorithms/angry_children.test.js +++ b/src/hackerrank/interview_preparation_kit/greedy_algorithms/angry_children.test.js @@ -7,7 +7,7 @@ import TEST_CASES from './angry_children.testcases.json'; describe('angry_children', () => { it('maxMin test cases', () => { - expect.assertions(4); + expect.assertions(5); TEST_CASES.forEach((test) => { const answer = maxMin(test.k, test.arr); @@ -16,5 +16,7 @@ describe('angry_children', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(4); }); }); diff --git a/src/hackerrank/interview_preparation_kit/greedy_algorithms/greedy_florist.test.js b/src/hackerrank/interview_preparation_kit/greedy_algorithms/greedy_florist.test.js index 735fa1ae..c6625956 100644 --- a/src/hackerrank/interview_preparation_kit/greedy_algorithms/greedy_florist.test.js +++ b/src/hackerrank/interview_preparation_kit/greedy_algorithms/greedy_florist.test.js @@ -7,7 +7,7 @@ import TEST_CASES from './greedy_florist.testcases.json'; describe('greedy_florist', () => { it('getMinimumCost test cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const answer = getMinimumCost(test.k, test.contests); @@ -18,5 +18,7 @@ describe('greedy_florist', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/greedy_algorithms/luck-balance.test.js b/src/hackerrank/interview_preparation_kit/greedy_algorithms/luck-balance.test.js index 8d021ed0..eb4fcdeb 100644 --- a/src/hackerrank/interview_preparation_kit/greedy_algorithms/luck-balance.test.js +++ b/src/hackerrank/interview_preparation_kit/greedy_algorithms/luck-balance.test.js @@ -7,7 +7,7 @@ import TEST_CASES from './luck-balance.testcases.json'; describe('luck-balance', () => { it('luckBalance test cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const answer = luckBalance(test.k, test.contests); @@ -18,5 +18,7 @@ describe('luck-balance', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.test.js b/src/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.test.js index dca020c0..ae5b53bc 100644 --- a/src/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.test.js +++ b/src/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.test.js @@ -7,7 +7,7 @@ import TEST_CASES from './minimum_absolute_difference_in_an_array.testcases.json describe('minimum_absolute_difference_in_an_array', () => { it('minimumAbsoluteDifference test cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const answer = minimumAbsoluteDifference(test.input); @@ -18,5 +18,7 @@ describe('minimum_absolute_difference_in_an_array', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/miscellaneous/flipping-bits.test.js b/src/hackerrank/interview_preparation_kit/miscellaneous/flipping-bits.test.js index e7792b88..e138c64a 100644 --- a/src/hackerrank/interview_preparation_kit/miscellaneous/flipping-bits.test.js +++ b/src/hackerrank/interview_preparation_kit/miscellaneous/flipping-bits.test.js @@ -6,7 +6,9 @@ import TEST_CASES from './flipping-bits.testcases.json'; describe('flipping bits', () => { it('flipping bits test cases', () => { - expect.assertions(8); + expect.assertions(10); + + let totalTestsCount = 0; TEST_CASES.forEach((testSet) => { testSet.tests.forEach((test) => { @@ -15,8 +17,13 @@ describe('flipping bits', () => { console.debug(`flippingBits(${test.input}) solution found: ${answer}`); expect(answer).toStrictEqual(test.expected); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES).toHaveLength(3); + expect(totalTestsCount).toBe(8); }); it('flipping bits isolated test case', () => { diff --git a/src/hackerrank/interview_preparation_kit/miscellaneous/friend_circle_queries.test.js b/src/hackerrank/interview_preparation_kit/miscellaneous/friend_circle_queries.test.js index 2cc810db..e9314805 100644 --- a/src/hackerrank/interview_preparation_kit/miscellaneous/friend_circle_queries.test.js +++ b/src/hackerrank/interview_preparation_kit/miscellaneous/friend_circle_queries.test.js @@ -6,7 +6,7 @@ import TEST_CASES from './friend_circle_queries.testcases.json'; describe('friend_circle_queries', () => { it('maxCircle test cases', () => { - expect.assertions(4); + expect.assertions(5); TEST_CASES.forEach((test) => { const answer = maxCircle(test.arr); @@ -15,5 +15,7 @@ describe('friend_circle_queries', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(4); }); }); diff --git a/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/ctci_fibonacci_numbers.test.js b/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/ctci_fibonacci_numbers.test.js index 53f93e63..88d65f8c 100644 --- a/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/ctci_fibonacci_numbers.test.js +++ b/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/ctci_fibonacci_numbers.test.js @@ -6,7 +6,7 @@ import TEST_CASES from './ctci_fibonacci_numbers.testcases.json'; describe('ctci_fibonacci_numbers', () => { it('fibonacci test cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const answer = fibonacci(test.input); @@ -15,5 +15,7 @@ describe('ctci_fibonacci_numbers', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/ctci_recursive_staircase.test.js b/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/ctci_recursive_staircase.test.js index 06702c45..2775b7c3 100644 --- a/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/ctci_recursive_staircase.test.js +++ b/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/ctci_recursive_staircase.test.js @@ -7,7 +7,7 @@ import TEST_CASES_GENERALIZED from './ctci_recursive_staircase_generalized.testc describe('ctci_recursive_staircase', () => { it('stepPerms test cases', () => { - expect.assertions(8); + expect.assertions(9); TEST_CASES.forEach((testSet) => { testSet?.tests.forEach((test) => { @@ -18,10 +18,12 @@ describe('ctci_recursive_staircase', () => { expect(answer).toStrictEqual(test.expected); }); }); + + expect(TEST_CASES).toHaveLength(3); }); it('stepPermsComputWithCache test cases', () => { - expect.assertions(3); + expect.assertions(4); const TOP_LIMIT = 10 ** 10 + 7; @@ -38,5 +40,7 @@ describe('ctci_recursive_staircase', () => { expect(answer).toStrictEqual(test.expected); }); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/recursive_digit_sum.bruteforce-test.js b/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/recursive_digit_sum.bruteforce-test.js index 43651b42..8efe1f0e 100644 --- a/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/recursive_digit_sum.bruteforce-test.js +++ b/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/recursive_digit_sum.bruteforce-test.js @@ -6,7 +6,7 @@ import TEST_CASES from './recursive_digit_sum.bruteforce.testcases.json'; describe('recursive_digit_sum bruteforce', () => { it('superDigit test cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const answer = superDigit(test.n, test.k); @@ -15,5 +15,7 @@ describe('recursive_digit_sum bruteforce', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/recursive_digit_sum.test.js b/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/recursive_digit_sum.test.js index 7570ab81..200714d9 100644 --- a/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/recursive_digit_sum.test.js +++ b/src/hackerrank/interview_preparation_kit/recursion_and_backtracking/recursive_digit_sum.test.js @@ -6,7 +6,7 @@ import TEST_CASES from './recursive_digit_sum.testcases.json'; describe('recursive_digit_sum', () => { it('superDigit test cases', () => { - expect.assertions(4); + expect.assertions(5); TEST_CASES.forEach((test) => { const answer = superDigit(test.n, test.k); @@ -15,5 +15,7 @@ describe('recursive_digit_sum', () => { expect(answer).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(4); }); }); diff --git a/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor.test.js b/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor.test.js index 5a1ec544..3407c13c 100644 --- a/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor.test.js +++ b/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor.test.js @@ -7,8 +7,9 @@ import TEST_CASES_BORDER_CASES from './ctci_ice_cream_parlor.border_testcases.js describe('ctci_ice_cream_parlor', () => { it('whatFlavorsCompute test cases', () => { - expect.assertions(10); + expect.assertions(12); + let totalTestsCount = 0; TEST_CASES.forEach((testSet) => { testSet?.tests.forEach((test) => { const answer = whatFlavorsCompute(test.costs, test.money); @@ -19,12 +20,19 @@ describe('ctci_ice_cream_parlor', () => { expect(answer).toStrictEqual(test.expected); expect(whatFlavors(test.costs, test.money)).toBeUndefined(); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES).toHaveLength(3); + expect(totalTestsCount).toBe(5); }); it('whatFlavors border test cases', () => { - expect.assertions(2); + expect.assertions(4); + + let totalTestsCount = 0; TEST_CASES_BORDER_CASES.forEach((testSet) => { testSet?.tests.forEach((test) => { @@ -32,8 +40,13 @@ describe('ctci_ice_cream_parlor', () => { test.expected ); expect(whatFlavors(test.costs, test.money)).toBeUndefined(); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES_BORDER_CASES).toHaveLength(1); + expect(totalTestsCount).toBe(1); }); it('whatFlavors test caller function', () => { diff --git a/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor_bruteforce.test.js b/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor_bruteforce.test.js index 0b8cfb7e..1d6da492 100644 --- a/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor_bruteforce.test.js +++ b/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor_bruteforce.test.js @@ -10,7 +10,9 @@ import TEST_CASES_BORDER_CASES from './ctci_ice_cream_parlor.border_testcases.js describe('ctci_ice_cream_parlor_bruteforce', () => { it('whatFlavors test cases', () => { - expect.assertions(10); + expect.assertions(12); + + let totalTestsCount = 0; TEST_CASES.forEach((testSet) => { testSet?.tests.forEach((test) => { @@ -22,12 +24,19 @@ describe('ctci_ice_cream_parlor_bruteforce', () => { expect(answer).toStrictEqual(test.expected); expect(whatFlavors(test.costs, test.money)).toBeUndefined(); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES).toHaveLength(3); + expect(totalTestsCount).toBe(5); }); it('whatFlavors border test cases', () => { - expect.assertions(2); + expect.assertions(4); + + let totalTestsCount = 0; TEST_CASES_BORDER_CASES.forEach((testSet) => { testSet?.tests.forEach((test) => { @@ -35,8 +44,13 @@ describe('ctci_ice_cream_parlor_bruteforce', () => { whatFlavorsBruteforceCompute(test.costs, test.money) ).toStrictEqual(test.expected); expect(whatFlavors(test.costs, test.money)).toBeUndefined(); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES_BORDER_CASES).toHaveLength(1); + expect(totalTestsCount).toBe(1); }); it('whatFlavors test caller function', () => { diff --git a/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor_optimized.test.js b/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor_optimized.test.js index ac7801eb..f9307b65 100644 --- a/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor_optimized.test.js +++ b/src/hackerrank/interview_preparation_kit/search/ctci_ice_cream_parlor_optimized.test.js @@ -10,7 +10,9 @@ import TEST_CASES_BORDER_CASES from './ctci_ice_cream_parlor.border_testcases.js describe('ctci_ice_cream_parlor_optimized', () => { it('whatFlavorsCompute test cases', () => { - expect.assertions(10); + expect.assertions(12); + + let totalTestsCount = 0; TEST_CASES.forEach((testSet) => { testSet?.tests.forEach((test) => { @@ -22,12 +24,19 @@ describe('ctci_ice_cream_parlor_optimized', () => { expect(answer).toStrictEqual(test.expected); expect(whatFlavors(test.costs, test.money)).toBeUndefined(); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES).toHaveLength(3); + expect(totalTestsCount).toBe(5); }); it('whatFlavors border test cases', () => { - expect.assertions(2); + expect.assertions(4); + + let totalTestsCount = 0; TEST_CASES_BORDER_CASES.forEach((testSet) => { testSet?.tests.forEach((test) => { @@ -35,8 +44,13 @@ describe('ctci_ice_cream_parlor_optimized', () => { test.expected ); expect(whatFlavors(test.costs, test.money)).toBeUndefined(); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES_BORDER_CASES).toHaveLength(1); + expect(totalTestsCount).toBe(1); }); it('whatFlavors test caller function', () => { diff --git a/src/hackerrank/interview_preparation_kit/search/swap_nodes_algo.big.test.js b/src/hackerrank/interview_preparation_kit/search/swap_nodes_algo.big.test.js index 6bb96996..eacf69e6 100644 --- a/src/hackerrank/interview_preparation_kit/search/swap_nodes_algo.big.test.js +++ b/src/hackerrank/interview_preparation_kit/search/swap_nodes_algo.big.test.js @@ -5,7 +5,7 @@ import BIG_TEST_CASES from './swap_nodes_algo.big.testcases.json'; describe('swap_nodes_algo', () => { it('build_tree and plain test cases', () => { - expect.assertions(1); + expect.assertions(2); BIG_TEST_CASES.forEach((test) => { const tree = new Tree(test.nodes); @@ -13,15 +13,19 @@ describe('swap_nodes_algo', () => { expect(tresult).toStrictEqual(test.flattened); }); + + expect(BIG_TEST_CASES).toHaveLength(1); }); it('swapNodes test cases', () => { - expect.assertions(1); + expect.assertions(2); BIG_TEST_CASES.forEach((test) => { const tResult = swapNodes(test.nodes, test.queries); expect(tResult).toStrictEqual(test.expected); }); + + expect(BIG_TEST_CASES).toHaveLength(1); }); }); diff --git a/src/hackerrank/interview_preparation_kit/search/swap_nodes_algo.test.js b/src/hackerrank/interview_preparation_kit/search/swap_nodes_algo.test.js index 87348cb5..2c8eb7fe 100644 --- a/src/hackerrank/interview_preparation_kit/search/swap_nodes_algo.test.js +++ b/src/hackerrank/interview_preparation_kit/search/swap_nodes_algo.test.js @@ -2,7 +2,7 @@ import { describe, expect, it } from '@jest/globals'; import { Node } from '../../lib/Node.js'; import { Tree, swapNodes, __INITIAL_LEVEL__ } from './swap_nodes_algo.js'; -import TESTCASES from './swap_nodes_algo.testcases.json'; +import TEST_CASES from './swap_nodes_algo.testcases.json'; describe('swap_nodes_algo', () => { it('testbuildTree_empty', () => { @@ -33,23 +33,27 @@ describe('swap_nodes_algo', () => { }); it('build tree and flattened tree test cases', () => { - expect.assertions(4); + expect.assertions(5); - TESTCASES.forEach((test) => { + TEST_CASES.forEach((test) => { const tree = new Tree(test.nodes); const tresult = tree.flatTree(); expect(tresult).toStrictEqual(test.flattened); }); + + expect(TEST_CASES).toHaveLength(4); }); it('swapNodes test cases', () => { - expect.assertions(4); + expect.assertions(5); - TESTCASES.forEach((test) => { + TEST_CASES.forEach((test) => { const tresult = swapNodes(test.nodes, test.queries); expect(tresult).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(4); }); }); diff --git a/src/hackerrank/interview_preparation_kit/sort/ctci_bubble_sort.test.js b/src/hackerrank/interview_preparation_kit/sort/ctci_bubble_sort.test.js index a09e6dbf..9829d50e 100644 --- a/src/hackerrank/interview_preparation_kit/sort/ctci_bubble_sort.test.js +++ b/src/hackerrank/interview_preparation_kit/sort/ctci_bubble_sort.test.js @@ -5,7 +5,7 @@ import TEST_CASES from './ctci_bubble_sort.testcases.json'; describe('countSwaps', () => { it('build tree and flattened tree test cases', () => { - expect.assertions(6); + expect.assertions(7); TEST_CASES.forEach((test) => { const sortable = new SortableGroup(test.input); @@ -15,5 +15,7 @@ describe('countSwaps', () => { expect(resultPrint).toBeUndefined(); expect(resultSort).toStrictEqual(test.sorted); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/sort/ctci_comparator_sorting.test.js b/src/hackerrank/interview_preparation_kit/sort/ctci_comparator_sorting.test.js index 762cc6c0..4ba1b33d 100644 --- a/src/hackerrank/interview_preparation_kit/sort/ctci_comparator_sorting.test.js +++ b/src/hackerrank/interview_preparation_kit/sort/ctci_comparator_sorting.test.js @@ -24,7 +24,7 @@ describe('comparatorSorting', () => { }); it('test_comparator_sorting', () => { - expect.assertions(8); + expect.assertions(9); TEST_CASES.forEach((test) => { const players = []; @@ -36,5 +36,7 @@ describe('comparatorSorting', () => { expect(comparatorSorting(players)).toStrictEqual(test.sorted); expect(comparatorSortingPrint(players)).toBeUndefined(); }); + + expect(TEST_CASES).toHaveLength(4); }); }); diff --git a/src/hackerrank/interview_preparation_kit/sort/mark_and_toys.test.js b/src/hackerrank/interview_preparation_kit/sort/mark_and_toys.test.js index 85681404..c41cc8b3 100644 --- a/src/hackerrank/interview_preparation_kit/sort/mark_and_toys.test.js +++ b/src/hackerrank/interview_preparation_kit/sort/mark_and_toys.test.js @@ -5,12 +5,14 @@ import TEST_CASES from './mark_and_toys.testcases.json'; describe('maximumToys', () => { it('maximumToys test cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const result = maximumToys(test.prices, test.budget); expect(result).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/stacks_and_queues/balanced_brackets.test.js b/src/hackerrank/interview_preparation_kit/stacks_and_queues/balanced_brackets.test.js index 7d5e6116..97c7d8b7 100644 --- a/src/hackerrank/interview_preparation_kit/stacks_and_queues/balanced_brackets.test.js +++ b/src/hackerrank/interview_preparation_kit/stacks_and_queues/balanced_brackets.test.js @@ -5,16 +5,23 @@ import TEST_CASES from './balanced_brackets.testcases.json'; describe('isBalanced', () => { it('isBalanced test cases', () => { - expect.assertions(8); + expect.assertions(10); const __YES__ = 'YES'; + let totalTestsCount = 0; + TEST_CASES.forEach((testSet) => { testSet?.tests.forEach((test) => { const result = isBalanced(test.input) === __YES__; expect(result).toStrictEqual(test.expected); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES).toHaveLength(3); + expect(totalTestsCount).toBe(8); }); }); diff --git a/src/hackerrank/interview_preparation_kit/string_manipulation/alternating_characters.test.js b/src/hackerrank/interview_preparation_kit/string_manipulation/alternating_characters.test.js index 554a50fa..379e09dd 100644 --- a/src/hackerrank/interview_preparation_kit/string_manipulation/alternating_characters.test.js +++ b/src/hackerrank/interview_preparation_kit/string_manipulation/alternating_characters.test.js @@ -5,14 +5,20 @@ import TEST_CASES from './alternating_characters.testcases.json'; describe('alternatingCharacters', () => { it('alternatingCharacters test cases', () => { - expect.assertions(9); + expect.assertions(11); + let totalTestsCount = 0; TEST_CASES.forEach((testSet) => { testSet?.tests.forEach((test) => { const result = alternatingCharacters(test.input); expect(result).toStrictEqual(test.expected); + + totalTestsCount += 1; }); }); + + expect(TEST_CASES).toHaveLength(3); + expect(totalTestsCount).toBe(9); }); }); diff --git a/src/hackerrank/interview_preparation_kit/string_manipulation/ctci_making_anagrams.test.js b/src/hackerrank/interview_preparation_kit/string_manipulation/ctci_making_anagrams.test.js index 4d839b3b..bf48505f 100644 --- a/src/hackerrank/interview_preparation_kit/string_manipulation/ctci_making_anagrams.test.js +++ b/src/hackerrank/interview_preparation_kit/string_manipulation/ctci_making_anagrams.test.js @@ -5,12 +5,14 @@ import TEST_CASES from './ctci_making_anagrams.testcases.json'; describe('makeAnagram', () => { it('makeAnagram test cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const result = makeAnagram(test.a, test.b); expect(result).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/interview_preparation_kit/string_manipulation/sherlock_and_valid_string.test.js b/src/hackerrank/interview_preparation_kit/string_manipulation/sherlock_and_valid_string.test.js index ebe91492..3e2a6b24 100644 --- a/src/hackerrank/interview_preparation_kit/string_manipulation/sherlock_and_valid_string.test.js +++ b/src/hackerrank/interview_preparation_kit/string_manipulation/sherlock_and_valid_string.test.js @@ -5,7 +5,7 @@ import TEST_CASES from './sherlock_and_valid_string.testcases.json'; describe('isValid', () => { it('isValid test cases', () => { - expect.assertions(9); + expect.assertions(10); const __YES__ = 'YES'; @@ -14,5 +14,7 @@ describe('isValid', () => { expect(result).toStrictEqual(test.expected); }); + + expect(TEST_CASES).toHaveLength(9); }); }); diff --git a/src/hackerrank/projecteuler/euler001.test.js b/src/hackerrank/projecteuler/euler001.test.js index eae16df5..fc14b230 100755 --- a/src/hackerrank/projecteuler/euler001.test.js +++ b/src/hackerrank/projecteuler/euler001.test.js @@ -7,7 +7,7 @@ import TEST_CASES from './euler001.testcases.json'; describe('euler001', () => { it('euler001 JSON Test Cases', () => { - expect.assertions(3); + expect.assertions(4); TEST_CASES.forEach((test) => { const calculated = euler001(test.a, test.b, test.n); @@ -17,5 +17,7 @@ describe('euler001', () => { expect(calculated).toStrictEqual(test.answer); }); + + expect(TEST_CASES).toHaveLength(3); }); }); diff --git a/src/hackerrank/projecteuler/euler002.test.js b/src/hackerrank/projecteuler/euler002.test.js index 9672135d..59da9afe 100755 --- a/src/hackerrank/projecteuler/euler002.test.js +++ b/src/hackerrank/projecteuler/euler002.test.js @@ -7,7 +7,7 @@ import TEST_CASES from './euler002.testcases.json'; describe('euler002', () => { it('euler002 JSON Test cases', () => { - expect.assertions(2); + expect.assertions(3); TEST_CASES.forEach((test) => { const calculated = euler002(test.n); @@ -15,5 +15,7 @@ describe('euler002', () => { expect(`${calculated}`).toBe(`${test.expected}`); }); + + expect(TEST_CASES).toHaveLength(2); }); }); diff --git a/src/hackerrank/projecteuler/euler003.test.js b/src/hackerrank/projecteuler/euler003.test.js index 641e4102..1aefc213 100755 --- a/src/hackerrank/projecteuler/euler003.test.js +++ b/src/hackerrank/projecteuler/euler003.test.js @@ -7,7 +7,7 @@ import TEST_CASES from './euler003.testcases.json'; describe('euler003', () => { it('euler003 JSON Test cases', () => { - expect.assertions(2); + expect.assertions(3); TEST_CASES.forEach((test) => { const calculated = euler003(test.n); @@ -15,6 +15,8 @@ describe('euler003', () => { expect(`${calculated}`).toBe(`${test.expected}`); }); + + expect(TEST_CASES).toHaveLength(2); }); it('euler003 Edge case', () => { diff --git a/src/hackerrank/warmup/birthdayCakeCandles.test.js b/src/hackerrank/warmup/birthdayCakeCandles.test.js index 049f8479..b0116443 100644 --- a/src/hackerrank/warmup/birthdayCakeCandles.test.js +++ b/src/hackerrank/warmup/birthdayCakeCandles.test.js @@ -12,7 +12,7 @@ describe('birthdayCakeCandles', () => { }); it('birthdayCakeCandles Test case 0', () => { - expect.assertions(2); + expect.assertions(3); const tests = [ { input: [3, 2, 1, 3], answer: 2 }, @@ -27,5 +27,7 @@ describe('birthdayCakeCandles', () => { expect(calculated).toBe(test.answer); } + + expect(tests).toHaveLength(2); }); }); diff --git a/src/hackerrank/warmup/miniMaxSum.test.js b/src/hackerrank/warmup/miniMaxSum.test.js index f276710a..c82e7e3f 100644 --- a/src/hackerrank/warmup/miniMaxSum.test.js +++ b/src/hackerrank/warmup/miniMaxSum.test.js @@ -12,7 +12,7 @@ describe('miniMaxSum', () => { }); it('miniMaxSum test case 1', () => { - expect.assertions(2); + expect.assertions(3); const tests = [ { input: [1, 2, 3, 4, 5], answer: '10 14' }, @@ -25,5 +25,7 @@ describe('miniMaxSum', () => { expect(solutionFound).toBe(test.answer); } + + expect(tests).toHaveLength(2); }); }); diff --git a/src/hackerrank/warmup/timeConversion.test.js b/src/hackerrank/warmup/timeConversion.test.js index 6593a59c..ecb3bdd8 100644 --- a/src/hackerrank/warmup/timeConversion.test.js +++ b/src/hackerrank/warmup/timeConversion.test.js @@ -4,7 +4,7 @@ import { timeConversion } from './timeConversion.js'; describe('timeConversion', () => { it('timeConversion example', () => { - expect.assertions(2); + expect.assertions(3); const tests = [ { input: '12:01:00PM', answer: '12:01:00' }, @@ -17,6 +17,8 @@ describe('timeConversion', () => { expect(calculated).toBe(test.answer); } + + expect(tests).toHaveLength(2); }); it('timeConversion test case 0', () => {