Added allEqual + tests

This commit is contained in:
Berkmann18
2018-08-02 22:03:08 +01:00
parent 8c04af3ab5
commit 8bc9dadee5
3 changed files with 54 additions and 0 deletions

14
snippets/allEqual.md Normal file
View File

@ -0,0 +1,14 @@
### allEqual
Check if all elements are equal
Use `Array.every()` to check if all the elements of the array are the same as the first one.
```js
const allEqual = arr => arr.every(val => val === arr[0]);
```
```js
allEqual([1, 2, 3, 4, 5, 6]); // false
allEqual([1, 1, 1, 1]); // true
```

View File

@ -0,0 +1,2 @@
const allEqual = arr => arr.every(val => val === arr[0]);
module.exports = allEqual;

View File

@ -0,0 +1,38 @@
const expect = require('expect');
const allEqual = require('./allEqual.js');
test('allEqual is a Function', () => {
expect(allEqual).toBeInstanceOf(Function);
});
test('Truthy numbers', () => {
expect(allEqual([4, 4, 4])).toBeTruthy();
});
test('Falsy numbers', () => {
expect(allEqual([4, 3.999, 4])).toBeFalsy();
});
test('Truthy strings', () => {
expect(allEqual(['lorem', 'lorem', 'lorem'])).toBeTruthy();
});
test('Falsy numbers', () => {
expect(allEqual(['lorem', 'ipsum', 'dolore'])).toBeFalsy();
});
test('Truthy trues', () => {
expect(allEqual([true, true, true])).toBeTruthy();
});
test('Truthy falses', () => {
expect(allEqual([false, false, false])).toBeTruthy();
});
test('Falsy trues', () => {
expect(allEqual([true, true, false])).toBeFalsy();
});
test('Falsy falses', () => {
expect(allEqual([false, false, true])).toBeFalsy();
});