Files
lodash/test/negate.spec.js
2023-09-16 22:59:56 -07:00

50 lines
1.4 KiB
JavaScript

import lodashStable from 'lodash';
import { _, isEven, stubTrue } from './utils';
describe('negate', () => {
it('should create a function that negates the result of `func`', () => {
const negate = _.negate(isEven);
expect(negate(1)).toBe(true);
expect(negate(2)).toBe(false);
});
it('should create a function that negates the result of `func`', () => {
const negate = _.negate(isEven);
expect(negate(1)).toBe(true);
expect(negate(2)).toBe(false);
});
it('should create a function that accepts multiple arguments', () => {
let argCount;
const count = 5;
const negate = _.negate(function () {
argCount = arguments.length;
});
const expected = lodashStable.times(count, stubTrue);
const actual = lodashStable.times(count, (index) => {
switch (index) {
case 0:
negate();
break;
case 1:
negate(1);
break;
case 2:
negate(1, 2);
break;
case 3:
negate(1, 2, 3);
break;
case 4:
negate(1, 2, 3, 4);
}
return argCount === index;
});
expect(actual).toEqual(expected);
});
});