moy-fp
Version:
A functional programming library.
108 lines (90 loc) • 2.34 kB
JavaScript
import __ from '../../src/Function/__'
/**
* a -> a -> Boolean
*/
import equals from '../../src/Relation/equals'
test('equals(not using __), not reference type, return true', () => {
expect(
equals(12)(12)
).toBeTruthy()
})
test('equals(not using __), not reference type, different type, return false', () => {
expect(
equals('12')(12)
).toBeFalsy()
})
test('equals(not using __), not reference type, same type, return false', () => {
expect(
equals(1)(12)
).toBeFalsy()
})
test('equals(not using __), reference type, different type, return false', () => {
expect(
equals([])({})
).toBeFalsy()
})
test('equals(not using __), array, difference length, return false', () => {
expect(
equals([1])([1, 2, 3, 4])
).toBeFalsy()
})
test('equals(not using __), array, return false', () => {
expect(
equals([1, 3, 4, 2])([1, 2, 3, 4])
).toBeFalsy()
})
test('equals(not using __), array, return true', () => {
expect(
equals([1, 2, 3, 4])([1, 2, 3, 4])
).toBeTruthy()
})
test('equals(not using __), object, different keys length, return false', () => {
expect(
equals({a: 1})({a: 1, b: 2, c: 3})
).toBeFalsy()
})
test('equals(not using __), object, return false', () => {
expect(
equals({a: 1, b: 2, c: 4})({a: 1, b: 2, c: 3})
).toBeFalsy()
})
test('equals(not using __), object, return true', () => {
expect(
equals({a: 1, b: 2, c: 3})({a: 1, b: 2, c: 3})
).toBeTruthy()
})
test('equals(not using __), function, return false', () => {
expect(
equals(() => 12)(() => 13)
).toBeFalsy()
})
test('equals(not using __), function, return true', () => {
expect(
equals(() => 12)(() => 12)
).toBeTruthy()
})
test('equals(not using __), date, return false', () => {
expect(
equals(new Date(1994, 11, 16))(new Date(1994, 11, 15))
).toBeFalsy()
})
test('equals(not using __), date, return true', () => {
expect(
equals(new Date(1994, 11, 15))(new Date(1994, 11, 15))
).toBeTruthy()
})
test('equals(not using __), regexp, return false', () => {
expect(
equals(/a+/g)(/a+/gi)
).toBeFalsy()
})
test('equals(not using __), regexp, return true', () => {
expect(
equals(/a+/gi)(/a+/gi)
).toBeTruthy()
})
test('equals(using __), not reference type, return true', () => {
expect(
equals(__, 12)(12)
).toBeTruthy()
})