@masala/parser
Version:
Masala Parser
121 lines (95 loc) • 2.98 kB
JavaScript
import { Tuple, NEUTRAL, tuple } from '../../lib/data/tuple'
export default {
setUp: function (done) {
done()
},
'empty tuple': function (test) {
test.expect(1)
// tests here
test.equal(tuple().isEmpty(), true, 'should be empty.')
test.done()
},
'non empty tuple': function (test) {
test.expect(1)
// tests here
test.equal(tuple().append(1).isEmpty(), false, 'should not be empty.')
test.done()
},
'initiated tuple': function (test) {
test.deepEqual(tuple([2, 4, 6]).value, [2, 4, 6])
test.done()
},
'retrieve non empty array': function (test) {
test.expect(1)
// tests here
test.deepEqual(
new Tuple([1, 2]).array(),
[1, 2],
'should not be empty.',
)
test.done()
},
'retrieve joined characters array': function (test) {
test.expect(1)
// tests here
test.deepEqual(new Tuple(['1', '2']).join(''), '12', 'should be "12".')
test.done()
},
'tuple size': function (test) {
test.expect(1)
// tests here
const myTuple = new Tuple([1, 2, 3, 4])
test.equal(4, myTuple.size())
test.done()
},
'undefined tuple is empty': function (test) {
let t = new Tuple()
test.equal(0, t.size())
t = t.append(2)
test.deepEqual([2], t.value)
test.done()
},
'single is returning the first element of the tuple': function (test) {
const l = new Tuple([1, 2])
test.equal(1, l.single())
test.done()
},
'NEUTRAL is not added to the tuple': function (test) {
let v = NEUTRAL
let vTuple = tuple().append(NEUTRAL)
test.equal(vTuple.size(), 0)
vTuple = vTuple.append(v).append(3).append(v).append(5)
test.equal(vTuple.size(), 2)
test.done()
},
'tuple and NEUTRAL can be added in a Tuple': function (test) {
const flat = new Tuple([2, 4, 5])
const result = tuple()
.append(NEUTRAL)
.append(flat)
.append(1)
.append(NEUTRAL)
test.deepEqual(result, new Tuple([2, 4, 5, 1]))
test.done()
},
'empty tuple append to empty tuple is an empty tuple': function (test) {
const result = tuple().append(tuple())
test.deepEqual(result, tuple())
test.done()
},
'last() returns the last element': function (test) {
const result = new Tuple([2, 4, 6]).last()
test.equal(result, 6)
test.done()
},
'first() returns the first element': function (test) {
const result = new Tuple([2, 4, 6]).first()
test.equal(result, 2)
test.done()
},
'at returns the value at index': function (test) {
const result = new Tuple([2, 4, 6])
test.equal(result.at(1), 4)
test.done()
},
}