moy-fp
Version:
A functional programming library.
59 lines (50 loc) • 1.19 kB
JavaScript
import __ from '../../src/Function/__'
/**
* Functor f => f a -> a
* [a] -> [a]
*/
import extract from '../../src/Functor/extract'
import Identity from '../../src/Functor/Identity/index'
import Maybe from '../../src/Functor/Maybe/index'
import IO from '../../src/Functor/IO/index'
import Task from '../../src/Functor/Task/index'
test('extract(not using __), Identity', () => {
expect(
extract(Identity.of(12))
).toBe(12)
})
test('extract(not using __), Maybe(null)', () => {
expect(
extract(Maybe.of(undefined))
).toBeNull()
})
test('extract(not using __), Maybe(12)', () => {
expect(
extract(Maybe.of(12))
).toBe(12)
})
test('extract(not using __), IO', () => {
expect(
extract(IO.of(12))
).toEqual(expect.any(Function))
})
test('extract(not using __), task', () => {
expect(
extract(Task.of(12))
).toEqual(expect.any(Function))
})
test('extract(not using __), array', () => {
expect(
extract([1, 2, 3, 4])
).toEqual([1, 2, 3, 4])
})
test('extract(not using __), number', () => {
expect(
extract(12)
).toBeUndefined()
})
test('extract(using __), Identity', () => {
expect(
extract(__)(Identity.of(12))
).toBe(12)
})