Files
30-seconds-of-code/test/uniqueSymmetricDifference.test.js
Christian C. Salvadó 83a6a6ea32 [ENHANCEMENT] Properly configure eslint to work with jest (#988)
* chore: make aware eslint that we use jest

By setting up the jest environment, we no longer need to declare the
'test' global in the configuration.

* chore: don't need to import expect, it's a jest environment global

* chore: don't need to import expect when creating undefined test
2019-06-18 08:34:45 +03:00

22 lines
937 B
JavaScript

const {uniqueSymmetricDifference} = require('./_30s.js');
test('uniqueSymmetricDifference is a Function', () => {
expect(uniqueSymmetricDifference).toBeInstanceOf(Function);
});
test('Returns the symmetric difference between two arrays.', () => {
expect(uniqueSymmetricDifference([1, 2, 3], [1, 2, 4])).toEqual([3, 4]);
});
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]);
});