treebank-parser
Version:
A simple parser for treebanks stored in S-Expressions
31 lines (27 loc) • 1.32 kB
JavaScript
var assert = require('assert')
, fs = require('fs')
, passes = require(__dirname+'/../lib/passes')
;
describe('lib/passes', function() {
describe('lex_sexp', function() {
it('should parse an inputted S-Expression into a series of tokens', function() {
var test_sexp = fs.readFileSync(__dirname + '/test.sexp', 'utf8').toUpperCase();
var test_lexed = JSON.parse(fs.readFileSync(__dirname + '/test.lexed', 'utf8'));
assert.deepEqual(passes.lex_sexp(test_sexp), test_lexed);
});
});
describe('convert_sexp_to_mexp', function() {
it('should convert a tokenized S-Expression to an M-Expression', function() {
var test_lexed = JSON.parse(fs.readFileSync(__dirname + '/test.lexed', 'utf8'));
var test_mexp = JSON.parse(fs.readFileSync(__dirname + '/test.mexp', 'utf8'));
assert.deepEqual(passes.convert_sexp_to_mexp(test_lexed), test_mexp);
});
});
describe('convert_mexp_to_json', function() {
it('should convert a tokenized M-Expression to a JSON object', function() {
var test_mexp = JSON.parse(fs.readFileSync(__dirname + '/test.mexp', 'utf8'));
var test_json = JSON.parse(fs.readFileSync(__dirname + '/test.json', 'utf8').toUpperCase());
assert.deepEqual(passes.convert_mexp_to_json(test_mexp), test_json);
});
});
});