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:
2026-10-24 21:36:33 +02:00
co-authored by Claude Opus 5.5
parent b24a27b0e8
commit 7dc89c154b
8 changed files with 81 additions and 2 deletions
+18
View File
@@ -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'));