diff --git a/test/average.test.js b/test/average.test.js index 47efaa0d8..5cc7d99a6 100644 --- a/test/average.test.js +++ b/test/average.test.js @@ -4,10 +4,10 @@ const {average} = require('./_30s.js'); test('average is a Function', () => { expect(average).toBeInstanceOf(Function); }); -test('average(true) returns 0', () => { +test('average(true) returns 1', () => { expect(average(true) === 1).toBeTruthy(); }); -test('average(false) returns 1', () => { +test('average(false) returns 0', () => { expect(average(false) === 0).toBeTruthy(); }); test('average(9, 1) returns 5', () => { @@ -25,10 +25,10 @@ test('average(1, 2, 3) returns 2', () => { test('average(null) returns 0', () => { expect(average(null)).toBe(0); }); -test('average(1, 2, 3) returns NaN', () => { +test('average(undefined) returns NaN', () => { expect(isNaN(average(undefined))).toBeTruthy(); }); -test('average(String) returns NaN', () => { +test('average("String") returns NaN', () => { expect(isNaN(average('String'))).toBeTruthy(); }); test('average({ a: 123}) returns NaN', () => { diff --git a/test/compact.test.js b/test/compact.test.js index e63c47b8e..5469b1ccf 100644 --- a/test/compact.test.js +++ b/test/compact.test.js @@ -5,7 +5,7 @@ test('compact is a Function', () => { expect(compact).toBeInstanceOf(Function); }); test('Removes falsey values from an array', () => { - expect(compact([0, 1, false, 2, '', 3, 'a', 'e' * 23, NaN, 's', 34])).toEqual([ + expect(compact([0, 1, false, 2, '', 3, 'a', 'e' * 23, NaN, 's', 34, null, undefined])).toEqual([ 1, 2, 3, diff --git a/test/countOccurrences.test.js b/test/countOccurrences.test.js index 5ac6c1e1d..2213fd39e 100644 --- a/test/countOccurrences.test.js +++ b/test/countOccurrences.test.js @@ -7,3 +7,6 @@ test('countOccurrences is a Function', () => { test('Counts the occurrences of a value in an array', () => { expect(countOccurrences([1, 1, 2, 1, 2, 3], 1)).toEqual(3); }); +test('Works with different types in the same array', () => { + expect(countOccurrences([1, 1, 2, 1, 2, 3, '1', true], 1)).toEqual(3); +}); diff --git a/test/filterNonUnique.test.js b/test/filterNonUnique.test.js index 459c67282..2d94bb77f 100644 --- a/test/filterNonUnique.test.js +++ b/test/filterNonUnique.test.js @@ -7,3 +7,10 @@ test('filterNonUnique is a Function', () => { test('Filters out the non-unique values in an array', () => { expect(filterNonUnique([1, 2, 2, 3, 4, 4, 5])).toEqual([1, 3, 5]); }); +test('Works with multiple types of values in the same array', () => { + expect(filterNonUnique([1, 2, 2, 3, 4, 4, 5, true, 'repeated text', 'repeated text', 'unique text'])).toEqual([1, 3, 5, true, 'unique text']); +}); +test('No error on empty array', () => { + expect(filterNonUnique([])).toEqual([]); +}); + diff --git a/test/findLastKey.test.js b/test/findLastKey.test.js index 405f17496..5ce260b8a 100644 --- a/test/findLastKey.test.js +++ b/test/findLastKey.test.js @@ -4,7 +4,7 @@ const {findLastKey} = require('./_30s.js'); test('findLastKey is a Function', () => { expect(findLastKey).toBeInstanceOf(Function); }); -test('eturns the appropriate key', () => { +test('returns the appropriate key', () => { expect( findLastKey( { diff --git a/test/squareSum.test.js b/test/squareSum.test.js index 13b31a2af..69b6b8962 100644 --- a/test/squareSum.test.js +++ b/test/squareSum.test.js @@ -7,3 +7,11 @@ test('squareSum is a Function', () => { test('squareSum returns the proper result', () => { expect(squareSum(2, 3, 4)).toBe(29); }); + +test('works with negative numbers', () => { + expect(squareSum(-2, 3, -4)).toBe(29); +}); + +test('NaN when parameters have text', () => { + expect(squareSum(-2, 3, -4, 'text')).toBe(NaN); +}); diff --git a/test/uniqueSymmetricDifference.test.js b/test/uniqueSymmetricDifference.test.js index d9fa598b6..eaf97a6a1 100644 --- a/test/uniqueSymmetricDifference.test.js +++ b/test/uniqueSymmetricDifference.test.js @@ -10,3 +10,13 @@ test('Returns the symmetric difference between two arrays.', () => { test('Does not return duplicates from one array', () => { expect(uniqueSymmetricDifference([1, 2, 2], [1, 3, 1])).toEqual([2, 3]); }); +test('Works with different size arrays', () => { + expect(uniqueSymmetricDifference([1, 2, 2, 4], [1, 3, 1, 4, 5, 6])).toEqual([2, 3, 5, 6]); +}); +test('Works with different types in the same array', () => { + expect(uniqueSymmetricDifference([1, 2, 'duplicate text', 'unique text'], [1, 3, 'duplicate text'])).toEqual([2, 'unique text', 3]); +}); +test('Works when one array is empty', () => { + expect(uniqueSymmetricDifference([1, 2, 2, 3], [])).toEqual([1, 2, 3]); +}); +