UNPKG

node-nlp

Version:

Library for NLU (Natural Language Understanding) done in Node.js

97 lines (74 loc) 3.74 kB
// QUnit Setup //------------------------------------- var test = function() { QUnit.test.apply(QUnit.test, arguments); } var ok = function() { QUnit.assert.ok.apply(QUnit.assert, arguments); } //------------------------------------- test("Test - Single Expression", function() { var text = "tenemos que hacer algo en 5 días."; var results = chrono.parse(text, new Date(2012,7,10)); ok(results.length == 1, JSON.stringify( results ) ) var result = results[0]; if(result){ ok(result.index == 23, 'Wrong index') ok(result.text == 'en 5 días', result.text ) ok(result.start, JSON.stringify(result.start) ) ok(result.start.get('year') == 2012, 'Test Result - (Year) ' + JSON.stringify(result.start) ) ok(result.start.get('month') == 8, 'Test Result - (Month) ' + JSON.stringify(result.start) ) ok(result.start.get('day') == 15, 'Test Result - (Day) ' + JSON.stringify(result.start) ) var resultDate = result.start.date(); var expectDate = new Date(2012, 8-1, 15, 12); ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) } var text = "tenemos que hacer algo dentro de 10 dias"; var results = chrono.parse(text, new Date(2012,7,10)); ok(results.length == 1, JSON.stringify( results ) ) var result = results[0]; if(result){ ok(result.index == 23, 'Wrong index') ok(result.text == 'dentro de 10 dias', result.text ) ok(result.start, JSON.stringify(result.start) ) ok(result.start.get('year') == 2012, 'Test Result - (Year) ' + JSON.stringify(result.start) ) ok(result.start.get('month') == 8, 'Test Result - (Month) ' + JSON.stringify(result.start) ) ok(result.start.get('day') == 20, 'Test Result - (Day) ' + JSON.stringify(result.start) ) var resultDate = result.start.date(); var expectDate = new Date(2012, 8-1, 20, 12); ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) } var text = "en 5 minutos"; var results = chrono.parse(text, new Date(2012,7,10,12,14)); ok(results.length == 1, JSON.stringify( results ) ) var result = results[0]; if(result){ ok(result.index == 0, 'Wrong index') ok(result.text == 'en 5 minutos', result.text ) var resultDate = result.start.date(); var expectDate = new Date(2012,7,10,12,19); ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) } var text = "en una hora"; var results = chrono.parse(text, new Date(2012,7,10,12,14)); ok(results.length == 1, JSON.stringify( results ) ) var result = results[0]; if(result){ ok(result.index == 0, 'Wrong index') ok(result.text == 'en una hora', result.text ) var resultDate = result.start.date(); var expectDate = new Date(2012,7,10,13,14); ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) } var text = "en media hora"; var results = chrono.parse(text, new Date(2012,7,10,12,14)); ok(results.length == 1, JSON.stringify( results ) ) var result = results[0]; if(result){ ok(result.index == 0, 'Wrong index') ok(result.text == 'en media hora', result.text ) var resultDate = result.start.date(); var expectDate = new Date(2012,7,10,12,44); ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) } });