Auto
This commit is contained in:
34
node_modules/markov/test/cycles.js
generated
vendored
Normal file
34
node_modules/markov/test/cycles.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
var test = require('tape');
|
||||
var markov = require('../');
|
||||
var fs = require('fs');
|
||||
|
||||
test('cycles', function (t) {
|
||||
var to = setTimeout(function () {
|
||||
t.fail('never finished');
|
||||
}, 5000);
|
||||
|
||||
var m = markov(1);
|
||||
|
||||
var these = 'the THE tHe ThE thE The';
|
||||
m.seed(these, function () {
|
||||
clearTimeout(to);
|
||||
|
||||
var counts = {};
|
||||
for (var i = 0; i < 100; i++) {
|
||||
var res = m.respond('the', 100);
|
||||
t.ok(res.length < 100);
|
||||
|
||||
res.forEach(function (r) {
|
||||
t.ok(these.split(' ').indexOf(r) >= 0);
|
||||
counts[r] = (counts[r] || 0) + 1;
|
||||
});
|
||||
}
|
||||
|
||||
t.deepEqual(
|
||||
Object.keys(counts).sort(),
|
||||
these.split(' ').sort()
|
||||
);
|
||||
|
||||
t.end();
|
||||
});
|
||||
});
|
34
node_modules/markov/test/has.js
generated
vendored
Normal file
34
node_modules/markov/test/has.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
var test = require('tape');
|
||||
var markov = require('../');
|
||||
var fs = require('fs');
|
||||
|
||||
test('has', function (t) {
|
||||
var to = setTimeout(function () {
|
||||
t.fail('never finished');
|
||||
}, 5000);
|
||||
|
||||
var m = markov(1);
|
||||
|
||||
var these = 'constructor toLocaleString valueOf __defineGetter__';
|
||||
m.seed(these, function () {
|
||||
clearTimeout(to);
|
||||
|
||||
var counts = {};
|
||||
for (var i = 0; i < 100; i++) {
|
||||
var res = m.respond('the', 100);
|
||||
t.ok(res.length < 100);
|
||||
|
||||
res.forEach(function (r) {
|
||||
t.ok(these.split(' ').indexOf(r) >= 0);
|
||||
counts[r] = (counts[r] || 0) + 1;
|
||||
});
|
||||
}
|
||||
|
||||
t.deepEqual(
|
||||
Object.keys(counts).sort(),
|
||||
these.split(' ').sort()
|
||||
);
|
||||
|
||||
t.end();
|
||||
});
|
||||
});
|
30
node_modules/markov/test/limit.js
generated
vendored
Normal file
30
node_modules/markov/test/limit.js
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
var test = require('tape');
|
||||
var markov = require('../');
|
||||
var fs = require('fs');
|
||||
|
||||
test('limit', function (t) {
|
||||
var to = setTimeout(function () {
|
||||
t.fail('never finished');
|
||||
}, 5000);
|
||||
|
||||
var m = markov(1);
|
||||
|
||||
var these = 'the THE tHe ThE thE The the THE The tHE the the';
|
||||
m.seed(these, function () {
|
||||
clearTimeout(to);
|
||||
|
||||
var counts = {};
|
||||
for (var i = 0; i < 100; i++) {
|
||||
var lim = Math.ceil(Math.random() * 10);
|
||||
var res = m.respond('the', lim);
|
||||
t.ok(res.length <= lim);
|
||||
|
||||
res.forEach(function (r) {
|
||||
t.ok(these.split(' ').indexOf(r) >= 0);
|
||||
counts[r] = (counts[r] || 0) + 1;
|
||||
});
|
||||
}
|
||||
|
||||
t.end();
|
||||
});
|
||||
});
|
42
node_modules/markov/test/order.js
generated
vendored
Normal file
42
node_modules/markov/test/order.js
generated
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
var test = require('tape');
|
||||
var markov = require('../');
|
||||
|
||||
test('order1', function (t) {
|
||||
t.plan(5);
|
||||
|
||||
var m = markov(1);
|
||||
m.seed('This is a test.');
|
||||
|
||||
t.equal(
|
||||
m.search('What IS your problem?'),
|
||||
'is'
|
||||
);
|
||||
|
||||
t.ok(m.search('foo bar baz zing') === undefined);
|
||||
|
||||
t.ok('this is a test'.split(' ').indexOf(m.pick()) >= 0);
|
||||
|
||||
t.deepEqual(
|
||||
m.next('is'),
|
||||
{ word : 'a', key : 'a' }
|
||||
);
|
||||
t.deepEqual(
|
||||
m.prev('is'),
|
||||
{ word : 'This', key : 'this' }
|
||||
);
|
||||
});
|
||||
|
||||
test('order2', function (t) {
|
||||
t.plan(2);
|
||||
|
||||
var m = markov(2);
|
||||
m.seed('This is a test.');
|
||||
t.deepEqual(
|
||||
m.next('this_is'),
|
||||
{ word : 'a test.', key : 'a_test' }
|
||||
);
|
||||
t.deepEqual(
|
||||
m.prev('a_test'),
|
||||
{ word : 'This is', key : 'this_is' }
|
||||
);
|
||||
});
|
40
node_modules/markov/test/stream.js
generated
vendored
Normal file
40
node_modules/markov/test/stream.js
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
var test = require('tape');
|
||||
var markov = require('../');
|
||||
var EventEmitter = require('events').EventEmitter;
|
||||
|
||||
test('stream', function (t) {
|
||||
t.plan(3);
|
||||
|
||||
var m = markov(1);
|
||||
var to = setTimeout(function () {
|
||||
t.fail('never finished');
|
||||
}, 5000);
|
||||
|
||||
var em = new EventEmitter;
|
||||
m.seed(em, function () {
|
||||
clearTimeout(to);
|
||||
|
||||
var counts = {};
|
||||
for (var i = 0; i < 100; i++) {
|
||||
var w = m.next('the');
|
||||
counts[w.key] = (counts[w.key] || 0) + 1;
|
||||
}
|
||||
|
||||
t.deepEqual(Object.keys(counts).sort(), [ 'cat', 'cow' ]);
|
||||
t.ok(40 <= counts.cat && counts.cat <= 60);
|
||||
t.ok(40 <= counts.cow && counts.cow <= 60);
|
||||
});
|
||||
|
||||
setTimeout(function () {
|
||||
em.emit('data', 'The cow says');
|
||||
}, 100);
|
||||
|
||||
setTimeout(function () {
|
||||
em.emit('data', 'moo.\nThe ');
|
||||
}, 150);
|
||||
|
||||
setTimeout(function () {
|
||||
em.emit('data', 'cat says meow.\n');
|
||||
em.emit('end');
|
||||
}, 200);
|
||||
});
|
Reference in New Issue
Block a user