parser-combinator
Version:
Parser combinators
120 lines (101 loc) • 3.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _list = require('../../lib/data/list');
var _list2 = _interopRequireDefault(_list);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/*
======== A Handy Little Nodeunit Reference ========
https://github.com/caolan/nodeunit
Test methods:
test.expect(numAssertions)
test.done()
Test assertions:
test.ok(value, [message])
test.equal(actual, expected, [message])
test.notEqual(actual, expected, [message])
test.deepEqual(actual, expected, [message])
test.notDeepEqual(actual, expected, [message])
test.strictEqual(actual, expected, [message])
test.notStrictEqual(actual, expected, [message])
test.throws(block, [error], [message])
test.doesNotThrow(block, [error], [message])
test.ifError(value)
*/
exports.default = {
setUp: function setUp(done) {
done();
},
'empty list': function emptyList(test) {
test.expect(1);
// tests here
test.equal((0, _list2.default)().isEmpty(), true, 'should be empty.');
test.done();
},
'non empty list': function nonEmptyList(test) {
test.expect(1);
// tests here
test.equal((0, _list2.default)(1).isEmpty(), false, 'should not be empty.');
test.done();
},
'filtering elements returns empty list': function filteringElementsReturnsEmptyList(test) {
test.expect(1);
// tests here
test.equal((0, _list2.default)(1).filter(function (i) {
return i != 1;
}).isEmpty(), true, 'should be empty.');
test.done();
},
'filtering elements returns same list': function filteringElementsReturnsSameList(test) {
test.expect(1);
// tests here
test.equal((0, _list2.default)(1).filter(function (i) {
return i == 1;
}).isEmpty(), false, 'should not be empty.');
test.done();
},
'map integer list': function mapIntegerList(test) {
test.expect(1);
// tests here
test.deepEqual((0, _list2.default)(1, 2, 3).map(function (v) {
return v + 1;
}), (0, _list2.default)(2, 3, 4), 'should map.');
test.done();
},
'flatmap integer list': function flatmapIntegerList(test) {
test.expect(1);
// tests here
test.deepEqual((0, _list2.default)(1, 2, 3).flatmap(function (v) {
return (0, _list2.default)(v, v + 1);
}), (0, _list2.default)(1, 2, 2, 3, 3, 4), 'should flatmap.');
test.done();
},
'retrieve non empty array': function retrieveNonEmptyArray(test) {
test.expect(1);
// tests here
test.deepEqual((0, _list2.default)(1, 2).array(), [1, 2], 'should not be empty.');
test.done();
},
'retrieve joined characters array': function retrieveJoinedCharactersArray(test) {
test.expect(1);
// tests here
test.deepEqual((0, _list2.default)('1', '2').join(''), '12', 'should be "12".');
test.done();
},
'add element': function addElement(test) {
test.expect(1);
// tests here
var myList = (0, _list2.default)(1, 2);
test.deepEqual([1, 2, 3], myList.add(3).array());
test.done();
},
'list size': function listSize(test) {
test.expect(1);
// tests here
var myList = (0, _list2.default)(1, 2, 3, 4);
test.equal(4, myList.size());
test.done();
}
};
//# sourceMappingURL=list_test.js.map