earley-sgf
Version:
Early algorithm used to parse SGF file
20 lines (19 loc) • 869 B
JavaScript
import { assert, test } from 'vitest';
import { sgfGame, sgfHead } from './sgfGame.js';
test('Read small SGF file', () => {
const sgfFile = '(;DT[2024-04-21]PB[or2win]PW[Henry_Yuan]SZ[19]KM[6.5];B[pd];W[dq])';
const tree = sgfGame(sgfFile);
assert(tree !== undefined, "Failed to parse");
});
test('Read head of SGF file', () => {
const sgfFile = '(;DT[2024-04-21]PB[or2win]PW[Henry_Yuan]SZ[19]KM[6.5];B[pd];W[dq])';
const h = sgfHead(sgfFile);
assert(h.date === '2024-04-21', "date failed " + h.date);
assert(h.whiteName === 'Henry_Yuan', "no white player");
assert(h.blackName === 'or2win', "no black player");
});
test('Names with blanks', () => {
const sgfFile = '(;DT[2024-04-21]PB[or2win]PW[Henry Yuan]SZ[19]KM[6.5];B[pd];W[dq])';
const h = sgfHead(sgfFile);
assert(h.whiteName === 'Henry Yuan', "no white player");
});