moy-fp
Version:
A functional programming library.
30 lines (25 loc) • 979 B
JavaScript
import __ from '../../src/Function/__'
/**
* (a -> String) -> [a] -> [a] -> [a]
*/
import unionBy from '../../src/Relation/unionBy'
test('unionBy(not using __), first empty array', () => {
expect(
unionBy(x => '' + x.id)([])([{id: 1}, {id: 2}, {id: 3}, {id: 4}])
).toEqual([{id: 1}, {id: 2}, {id: 3}, {id: 4}])
})
test('unionBy(not using __), second empty array', () => {
expect(
unionBy(x => '' + x.id)([{id: 1}, {id: 2}, {id: 3}, {id: 4}])([])
).toEqual([{id: 1}, {id: 2}, {id: 3}, {id: 4}])
})
test('unionBy(not using __), no empty array', () => {
expect(
unionBy(x => '' + x.id)([{id: 1}, {id: 3}, {id: 5}])([{id: 1}, {id: 2}, {id: 3}, {id: 4}, {id: 1}])
).toEqual([{id: 1}, {id: 2}, {id: 3}, {id: 4}, {id: 5}])
})
test('unionBy(using __), no empty array', () => {
expect(
unionBy(x => '' + x.id, __, [{id: 1}, {id: 2}, {id: 3}, {id: 4}, {id: 1}])([{id: 1}, {id: 3}, {id: 5}])
).toEqual([{id: 1}, {id: 2}, {id: 3}, {id: 4}, {id: 5}])
})