From 08346f228530031ac4e1431739444b03f73289a4 Mon Sep 17 00:00:00 2001 From: Yaroslav65 Date: Tue, 18 Nov 2025 23:02:03 +0100 Subject: [PATCH 1/3] splitInteger tests --- src/splitInteger.test.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/splitInteger.test.js b/src/splitInteger.test.js index a610317d..82e4fce9 100644 --- a/src/splitInteger.test.js +++ b/src/splitInteger.test.js @@ -4,18 +4,51 @@ const splitInteger = require('./splitInteger'); test(`should split a number into equal parts if a value is divisible by a numberOfParts`, () => { + const result = splitInteger(8, 2); + const min = Math.min(...result); + const max = Math.max(...result); + + expect(max - min).toBeLessThanOrEqual(1); + expect(result).toHaveLength(2); }); test(`should return a part equals to a value when splitting into 1 part`, () => { + const result = splitInteger(6, 1); + expect(result[0]).toBe(6); + expect(result).toHaveLength(1); }); test('should sort parts ascending if they are not equal', () => { + const result = splitInteger(5, 3); + const sorted = [...result].sort((a, b) => a - b); + + const min = Math.min(...result); + const max = Math.max(...result); + expect(max - min).toBeLessThanOrEqual(1); + expect(result).toStrictEqual(sorted); + expect(result).toHaveLength(3); }); test('should add zeros if value < numberOfParts', () => { + const result = splitInteger(6, 8); + + function countZeros(arr) { + let count = 0; + + for (const a of arr) { + if (a === 0) { + count++; + } + } + + return count; + } + expect(result).toHaveLength(8); + expect(countZeros(result)).toBe(2); + expect(result.reduce((a, b) => a + b, 0)).toBe(6); }); From caebae347e852977820f065a2c91a7f83cd435b2 Mon Sep 17 00:00:00 2001 From: Yaroslav65 Date: Tue, 18 Nov 2025 23:10:54 +0100 Subject: [PATCH 2/3] fix tests --- src/splitInteger.test.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/splitInteger.test.js b/src/splitInteger.test.js index 82e4fce9..6fcdaf8f 100644 --- a/src/splitInteger.test.js +++ b/src/splitInteger.test.js @@ -10,7 +10,7 @@ test(`should split a number into equal parts const max = Math.max(...result); expect(max - min).toBeLessThanOrEqual(1); - expect(result).toHaveLength(2); + expect(result).toStrictEqual([4, 4]); }); test(`should return a part equals to a value @@ -18,7 +18,7 @@ test(`should return a part equals to a value const result = splitInteger(6, 1); expect(result[0]).toBe(6); - expect(result).toHaveLength(1); + expect(result).toStrictEqual([6]); }); test('should sort parts ascending if they are not equal', () => { @@ -30,7 +30,7 @@ test('should sort parts ascending if they are not equal', () => { expect(max - min).toBeLessThanOrEqual(1); expect(result).toStrictEqual(sorted); - expect(result).toHaveLength(3); + expect(result).toStrictEqual([1, 2, 2]); }); test('should add zeros if value < numberOfParts', () => { From 4d819b4bc6f70a4925c05898eac530c9305c0a5b Mon Sep 17 00:00:00 2001 From: Yaroslav65 Date: Tue, 18 Nov 2025 23:13:54 +0100 Subject: [PATCH 3/3] fix errors --- src/splitInteger.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/splitInteger.test.js b/src/splitInteger.test.js index 6fcdaf8f..74e4480b 100644 --- a/src/splitInteger.test.js +++ b/src/splitInteger.test.js @@ -48,7 +48,7 @@ test('should add zeros if value < numberOfParts', () => { return count; } - expect(result).toHaveLength(8); + expect(result).toStrictEqual([0, 0, 1, 1, 1, 1, 1, 1]); expect(countZeros(result)).toBe(2); expect(result.reduce((a, b) => a + b, 0)).toBe(6); });