Il taccuino: le tappe del capitolo e l'obiettivo di adesso (tasto N)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ApqNBvNbNCwXqR2RLo8QJh
This commit is contained in:
@@ -104,6 +104,24 @@ test('i crediti: i nomi di ogni voce escono in ordine casuale, sempre tutti', ()
|
||||
assert.ok(orders.size > 3, `${idee}: l'ordine non cambia`);
|
||||
});
|
||||
|
||||
test('il taccuino: lungo la soluzione le tappe si spuntano in ordine, una alla volta, e alla fine sono tutte fatte', () => {
|
||||
const g = new Game(story);
|
||||
g.go(story.start.scene, story.start.at);
|
||||
settle(g);
|
||||
assert.equal(g.notebook().done.length, 0);
|
||||
assert.match(g.notebook().now, /vecchietti/);
|
||||
let last = 0;
|
||||
for (const [verb, target, item] of solution) {
|
||||
if (verb === 'choose') g.choose(g.options().findIndex(o => o.text === target)); else g.act(verb, target, item);
|
||||
settle(g);
|
||||
const n = g.notebook().done.length;
|
||||
assert.ok(n === last || n === last + 1, `tappe saltate dopo ${verb} ${target}`);
|
||||
last = n;
|
||||
}
|
||||
assert.equal(g.notebook().now, null);
|
||||
assert.equal(g.notebook().done.length, story.notebook.length);
|
||||
});
|
||||
|
||||
test('la ricerca della mappa: pezzi di parola, senza maiuscole, accenti e apostrofi', () => {
|
||||
assert.ok(matchPlace('Campomigliaio', 'camp'));
|
||||
assert.ok(matchPlace('Via de\' Medici', 'de medici'));
|
||||
|
||||
Reference in New Issue
Block a user