refactor: Improve formatting and readability of secret-exit transition test

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2026-03-23 11:36:59 +01:00
parent b0f6e865b4
commit 7941c2902c
@@ -47,66 +47,70 @@ void main() {
expect(engine.player.y, closeTo(4.5, 0.001)); expect(engine.player.y, closeTo(4.5, 0.001));
}); });
test('secret-exit transitions clear keys but preserve other player state', () { test(
final input = _TestInput(); 'secret-exit transitions clear keys but preserve other player state',
final engine = WolfEngine( () {
data: _buildSecretExitTestData(), final input = _TestInput();
difficulty: Difficulty.hard, final engine = WolfEngine(
startingEpisode: 0, data: _buildSecretExitTestData(),
frameBuffer: FrameBuffer(64, 64), difficulty: Difficulty.hard,
input: input, startingEpisode: 0,
engineAudio: _SilentAudio(), frameBuffer: FrameBuffer(64, 64),
onGameWon: () {}, input: input,
); engineAudio: _SilentAudio(),
onGameWon: () {},
);
engine.init(); engine.init();
engine.player engine.player
..health = 61 ..health = 61
..ammo = 42 ..ammo = 42
..score = 777 ..score = 777
..lives = 6 ..lives = 6
..hasMachineGun = true ..hasMachineGun = true
..hasChainGun = true ..hasChainGun = true
..hasGoldKey = true ..hasGoldKey = true
..hasSilverKey = true; ..hasSilverKey = true;
engine.player.weapons[WeaponType.machineGun] = MachineGun(); engine.player.weapons[WeaponType.machineGun] = MachineGun();
engine.player.weapons[WeaponType.chainGun] = ChainGun(); engine.player.weapons[WeaponType.chainGun] = ChainGun();
engine.player.currentWeapon = engine.player.weapons[WeaponType.chainGun]!; engine.player.currentWeapon =
engine.player.weapons[WeaponType.chainGun]!;
input.isInteracting = true; input.isInteracting = true;
engine.tick(const Duration(milliseconds: 16)); engine.tick(const Duration(milliseconds: 16));
input.isInteracting = false; input.isInteracting = false;
expect(engine.activeLevel.name, 'Level 10'); expect(engine.activeLevel.name, 'Level 10');
expect(engine.player.health, 61); expect(engine.player.health, 61);
expect(engine.player.ammo, 42); expect(engine.player.ammo, 42);
expect(engine.player.score, 777); expect(engine.player.score, 777);
expect(engine.player.lives, 6); expect(engine.player.lives, 6);
expect(engine.player.hasMachineGun, isTrue); expect(engine.player.hasMachineGun, isTrue);
expect(engine.player.hasChainGun, isTrue); expect(engine.player.hasChainGun, isTrue);
expect(engine.player.currentWeapon.type, WeaponType.chainGun); expect(engine.player.currentWeapon.type, WeaponType.chainGun);
expect(engine.player.hasGoldKey, isFalse); expect(engine.player.hasGoldKey, isFalse);
expect(engine.player.hasSilverKey, isFalse); expect(engine.player.hasSilverKey, isFalse);
engine.player engine.player
..hasGoldKey = true ..hasGoldKey = true
..hasSilverKey = true; ..hasSilverKey = true;
input.isInteracting = true; input.isInteracting = true;
engine.tick(const Duration(milliseconds: 16)); engine.tick(const Duration(milliseconds: 16));
input.isInteracting = false; input.isInteracting = false;
expect(engine.activeLevel.name, 'Level 2'); expect(engine.activeLevel.name, 'Level 2');
expect(engine.player.health, 61); expect(engine.player.health, 61);
expect(engine.player.ammo, 42); expect(engine.player.ammo, 42);
expect(engine.player.score, 777); expect(engine.player.score, 777);
expect(engine.player.lives, 6); expect(engine.player.lives, 6);
expect(engine.player.hasMachineGun, isTrue); expect(engine.player.hasMachineGun, isTrue);
expect(engine.player.hasChainGun, isTrue); expect(engine.player.hasChainGun, isTrue);
expect(engine.player.currentWeapon.type, WeaponType.chainGun); expect(engine.player.currentWeapon.type, WeaponType.chainGun);
expect(engine.player.hasGoldKey, isFalse); expect(engine.player.hasGoldKey, isFalse);
expect(engine.player.hasSilverKey, isFalse); expect(engine.player.hasSilverKey, isFalse);
}); },
);
}); });
group('Pause and main menu', () { group('Pause and main menu', () {