28 lines
692 B
JavaScript
28 lines
692 B
JavaScript
|
require('source-map-support').install();
|
||
|
|
||
|
import {expect} from 'chai';
|
||
|
|
||
|
import floodwalk from '../src/floodwalk';
|
||
|
|
||
|
describe('Floodwalk', () => {
|
||
|
it('can walk', () => {
|
||
|
const data = [
|
||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||
|
0, 1, 1, 0, 1, 1, 1, 0,
|
||
|
1, 1, 1, 1, 0, 1, 1, 1,
|
||
|
0, 0, 0, 0, 0, 0, 0, 1,
|
||
|
];
|
||
|
let correct = data.reduce((r, v, i) => r.concat(v ? [+i] : []), []);
|
||
|
expect(
|
||
|
floodwalk(data, [1, 1], 8, 4)
|
||
|
.sort((l, r) => l < r ? -1 : 1)
|
||
|
).to.deep.equal(correct);
|
||
|
data[12] = 0;
|
||
|
correct = [9, 10, 16, 17, 18, 19];
|
||
|
expect(
|
||
|
floodwalk(data, [1, 1], 8, 4)
|
||
|
.sort((l, r) => l < r ? -1 : 1)
|
||
|
).to.deep.equal(correct);
|
||
|
});
|
||
|
});
|