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:
@@ -47,66 +47,70 @@ void main() {
|
||||
expect(engine.player.y, closeTo(4.5, 0.001));
|
||||
});
|
||||
|
||||
test('secret-exit transitions clear keys but preserve other player state', () {
|
||||
final input = _TestInput();
|
||||
final engine = WolfEngine(
|
||||
data: _buildSecretExitTestData(),
|
||||
difficulty: Difficulty.hard,
|
||||
startingEpisode: 0,
|
||||
frameBuffer: FrameBuffer(64, 64),
|
||||
input: input,
|
||||
engineAudio: _SilentAudio(),
|
||||
onGameWon: () {},
|
||||
);
|
||||
test(
|
||||
'secret-exit transitions clear keys but preserve other player state',
|
||||
() {
|
||||
final input = _TestInput();
|
||||
final engine = WolfEngine(
|
||||
data: _buildSecretExitTestData(),
|
||||
difficulty: Difficulty.hard,
|
||||
startingEpisode: 0,
|
||||
frameBuffer: FrameBuffer(64, 64),
|
||||
input: input,
|
||||
engineAudio: _SilentAudio(),
|
||||
onGameWon: () {},
|
||||
);
|
||||
|
||||
engine.init();
|
||||
engine.player
|
||||
..health = 61
|
||||
..ammo = 42
|
||||
..score = 777
|
||||
..lives = 6
|
||||
..hasMachineGun = true
|
||||
..hasChainGun = true
|
||||
..hasGoldKey = true
|
||||
..hasSilverKey = true;
|
||||
engine.player.weapons[WeaponType.machineGun] = MachineGun();
|
||||
engine.player.weapons[WeaponType.chainGun] = ChainGun();
|
||||
engine.player.currentWeapon = engine.player.weapons[WeaponType.chainGun]!;
|
||||
engine.init();
|
||||
engine.player
|
||||
..health = 61
|
||||
..ammo = 42
|
||||
..score = 777
|
||||
..lives = 6
|
||||
..hasMachineGun = true
|
||||
..hasChainGun = true
|
||||
..hasGoldKey = true
|
||||
..hasSilverKey = true;
|
||||
engine.player.weapons[WeaponType.machineGun] = MachineGun();
|
||||
engine.player.weapons[WeaponType.chainGun] = ChainGun();
|
||||
engine.player.currentWeapon =
|
||||
engine.player.weapons[WeaponType.chainGun]!;
|
||||
|
||||
input.isInteracting = true;
|
||||
engine.tick(const Duration(milliseconds: 16));
|
||||
input.isInteracting = false;
|
||||
input.isInteracting = true;
|
||||
engine.tick(const Duration(milliseconds: 16));
|
||||
input.isInteracting = false;
|
||||
|
||||
expect(engine.activeLevel.name, 'Level 10');
|
||||
expect(engine.player.health, 61);
|
||||
expect(engine.player.ammo, 42);
|
||||
expect(engine.player.score, 777);
|
||||
expect(engine.player.lives, 6);
|
||||
expect(engine.player.hasMachineGun, isTrue);
|
||||
expect(engine.player.hasChainGun, isTrue);
|
||||
expect(engine.player.currentWeapon.type, WeaponType.chainGun);
|
||||
expect(engine.player.hasGoldKey, isFalse);
|
||||
expect(engine.player.hasSilverKey, isFalse);
|
||||
expect(engine.activeLevel.name, 'Level 10');
|
||||
expect(engine.player.health, 61);
|
||||
expect(engine.player.ammo, 42);
|
||||
expect(engine.player.score, 777);
|
||||
expect(engine.player.lives, 6);
|
||||
expect(engine.player.hasMachineGun, isTrue);
|
||||
expect(engine.player.hasChainGun, isTrue);
|
||||
expect(engine.player.currentWeapon.type, WeaponType.chainGun);
|
||||
expect(engine.player.hasGoldKey, isFalse);
|
||||
expect(engine.player.hasSilverKey, isFalse);
|
||||
|
||||
engine.player
|
||||
..hasGoldKey = true
|
||||
..hasSilverKey = true;
|
||||
engine.player
|
||||
..hasGoldKey = true
|
||||
..hasSilverKey = true;
|
||||
|
||||
input.isInteracting = true;
|
||||
engine.tick(const Duration(milliseconds: 16));
|
||||
input.isInteracting = false;
|
||||
input.isInteracting = true;
|
||||
engine.tick(const Duration(milliseconds: 16));
|
||||
input.isInteracting = false;
|
||||
|
||||
expect(engine.activeLevel.name, 'Level 2');
|
||||
expect(engine.player.health, 61);
|
||||
expect(engine.player.ammo, 42);
|
||||
expect(engine.player.score, 777);
|
||||
expect(engine.player.lives, 6);
|
||||
expect(engine.player.hasMachineGun, isTrue);
|
||||
expect(engine.player.hasChainGun, isTrue);
|
||||
expect(engine.player.currentWeapon.type, WeaponType.chainGun);
|
||||
expect(engine.player.hasGoldKey, isFalse);
|
||||
expect(engine.player.hasSilverKey, isFalse);
|
||||
});
|
||||
expect(engine.activeLevel.name, 'Level 2');
|
||||
expect(engine.player.health, 61);
|
||||
expect(engine.player.ammo, 42);
|
||||
expect(engine.player.score, 777);
|
||||
expect(engine.player.lives, 6);
|
||||
expect(engine.player.hasMachineGun, isTrue);
|
||||
expect(engine.player.hasChainGun, isTrue);
|
||||
expect(engine.player.currentWeapon.type, WeaponType.chainGun);
|
||||
expect(engine.player.hasGoldKey, isFalse);
|
||||
expect(engine.player.hasSilverKey, isFalse);
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
group('Pause and main menu', () {
|
||||
|
||||
Reference in New Issue
Block a user