fluentnode
Version:
Fluent apis for node (based on the concepts used in C#'s FluentSharp
158 lines (133 loc) • 6.48 kB
text/coffeescript
#back to [main](fluent.html)
require('../src/Array')
expect = require('chai').expect
describe 'Array',->
it 'add',->
[ ].add.assert_Is_Function()
[ ].add( 'a' ).assert_Is(['a'])
['a' ].add( 'b' ).assert_Is(['a','b'])
['a' ].add( 'b','c' ).assert_Is(['a','b','c'])
['a','b'].add( 'c','d' ).assert_Is(['a','b','c','d'])
['1','1'].add( 1,2,3,4 ).assert_Is(['1','1',1,2,3,4])
a = []
a.add('1')
a.assert_Is(['1'])
a.add('2','3')
a.assert_Is(['1','2','3'])
a.add(4).add(5,6)
a.assert_Is(['1','2','3',4, 5, 6])
[].add( null, ).assert_Is([null])
.add( undefined).assert_Is([null,undefined ])
.add( 1 ).assert_Is([null,undefined,1 ])
.add( 'a' ).assert_Is([null,undefined,1,'a' ])
.add( [1,2] ).assert_Is([null,undefined,1,'a',[1,2]])
it 'contains',->
[].contains.assert_Is_Function()
[ ].contains( ).assert_Is_False()
[ ].contains('' ).assert_Is_False()
['' ].contains('' ).assert_Is_True()
['' ].contains( ).assert_Is_False()
['1' ].contains('1').assert_Is_True()
['1' ].contains('2').assert_Is_False()
['1','2' ].contains('1').assert_Is_True()
['1','2' ].contains('2').assert_Is_True()
['1','2' ].contains('3').assert_Is_False()
['1','2' ].contains(['5' ]).assert_Is_False()
['1','2' ].contains(['5','1']).assert_Is_False()
['1','2' ].contains(['1' ]).assert_Is_True()
['1','2' ].contains(['2' ]).assert_Is_True()
['1','2' ].contains(['1','1']).assert_Is_True()
['1','2' ].contains(['2','1']).assert_Is_True()
it 'empty',->
expect([ ].empty).to.be.an('Function')
expect([ ].empty()).to.be.true
expect(['' ].empty()).to.be.false
expect([null ].empty()).to.be.false
it 'first',->
expect([ ].first).to.be.an('Function')
expect([ ].first()).to.equal(null)
expect(['' ].first()).to.equal('')
expect(['123' ].first()).to.equal('123')
expect(['123', 'abc'].first()).to.equal('123')
expect([null, 'abc' ].first()).to.equal(null)
it 'fourth',->
expect([ ].fourth).to.be.an('Function')
expect([ ].fourth()).to.equal(null)
expect(['1','2','3','4'].fourth()).to.equal('4')
it 'item',->
[0,1].item(0).assert_Is(0)
[0,1].item(1).assert_Is(1)
assert_Is_Null([0,1].item(2))
assert_Is_Null([0,1].item(-1))
assert_Is_Null([0,1].item(9999))
assert_Is_Null([0,1].item(null))
assert_Is_Null([0,1].item(false))
it 'last', ->
expect([ ].last).to.be.an('Function')
expect([ ].last()).to.equal(null)
expect(['' ].last()).to.equal('')
expect(['123' ].last()).to.equal('123')
expect(['123', 'abc'].last()).to.equal('abc')
expect(['123', null ].last()).to.equal(null)
it 'not_Contains',->
[].not_Contains.assert_Is_Function()
[ ].not_Contains( ).assert_Is_True()
[ ].not_Contains('' ).assert_Is_True()
['' ].not_Contains('' ).assert_Is_False()
['' ].not_Contains( ).assert_Is_True()
['1' ].not_Contains('1').assert_Is_False()
['1' ].not_Contains('2').assert_Is_True()
['1','2' ].not_Contains('1').assert_Is_False()
['1','2' ].not_Contains('2').assert_Is_False()
['1','2' ].not_Contains('3').assert_Is_True()
it 'not_Empty',->
[ ].not_Empty.assert_Is_Function()
[ ].not_Empty().assert_Is_False()
['' ].not_Empty().assert_Is_True()
[null ].not_Empty().assert_Is_True()
it 'log', ->
# see '{array}.log" test in test-fluent-console
it 'nth',->
[].nth.assert_Is([].item)
it 'second',->
expect([ ].second).to.be.an('Function')
expect([ ].second()).to.equal(null)
expect(['' ].second()).to.equal(null)
expect(['123' ].second()).to.equal(null)
expect(['123', 'abc'].second()).to.equal('abc')
expect(['123', null ].second()).to.equal(null)
it 'size',->
expect([ ].size).to.be.an('Function')
expect([ ].size()).to.equal(0)
expect(['' ].size()).to.equal(1)
expect(['123' ].size()).to.equal(1)
expect(['123', 'abc'].size()).to.equal(2)
expect(['123', null ].size()).to.equal(2)
it 'starts_With', ->
[ ].starts_With.assert_Is_Function()
[ ].starts_With( ).assert_Is_Equal_To([ ])
['' ].starts_With('' ).assert_Is_Equal_To([ ])
[' ' ].starts_With(' ').assert_Is_Equal_To([' ' ])
['1','23','2'].starts_With('1').assert_Is_Equal_To(['1' ])
['1','23','2'].starts_With('2').assert_Is_Equal_To(['23','2'])
['1','23','2'].starts_With('4').assert_Is_Equal_To([ ])
it 'third' ,->
expect([ ].third).to.be.an('Function')
expect([ ].third()).to.equal(null)
expect(['1','2','3','4'].third()).to.equal('3')
it 'take', ->
[ ].take.assert_Is_Function()
[ ].take( ).assert_Is_Equal_To([ ])
['' ].take(0).assert_Is_Equal_To([ ])
[' ' ].take(1).assert_Is_Equal_To([' ' ])
['1','23','2'].take(1).assert_Is_Equal_To(['1' ])
['1','23','2'].take(2).assert_Is_Equal_To(['1','23'])
['1','23','2'].take(0).assert_Is_Equal_To([ ])
it 'unique', ->
[ ].unique.assert_Is_Function()
[ ].unique().assert_Is_Equal_To([])
['' ].unique().assert_Is_Equal_To([''])
['1' ].unique().assert_Is_Equal_To(['1'])
['1','2' ].unique().assert_Is_Equal_To(['1','2'])
['1','1' ].unique().assert_Is_Equal_To(['1'])
['1','2','1' ].unique().assert_Is_Equal_To(['1','2'])