34 lines
781 B
JavaScript
34 lines
781 B
JavaScript
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();
|
|
});
|
|
}); |