test: fixed tests for multipliers

pull/231/head
RuiAlonso 3 years ago
parent 33b5ecd66e
commit ea741550a6

@ -22,12 +22,12 @@ class Multipliers extends Component
), ),
x3multiplier = Multiplier( x3multiplier = Multiplier(
value: MultiplierValue.x3, value: MultiplierValue.x3,
position: Vector2(13, -9.5), position: Vector2(13, -9.4),
rotation: 15 * math.pi / 180, rotation: 15 * math.pi / 180,
), ),
x4multiplier = Multiplier( x4multiplier = Multiplier(
value: MultiplierValue.x4, value: MultiplierValue.x4,
position: Vector2(0, -21), position: Vector2(0, -21.2),
), ),
x5multiplier = Multiplier( x5multiplier = Multiplier(
value: MultiplierValue.x5, value: MultiplierValue.x5,
@ -36,7 +36,7 @@ class Multipliers extends Component
), ),
x6multiplier = Multiplier( x6multiplier = Multiplier(
value: MultiplierValue.x6, value: MultiplierValue.x6,
position: Vector2(10, -31), position: Vector2(10, -30.7),
rotation: 8 * math.pi / 180, rotation: 8 * math.pi / 180,
), ),
super() { super() {

@ -24,30 +24,13 @@ void main() {
]; ];
final flameTester = FlameTester(() => TestGame(assets)); final flameTester = FlameTester(() => TestGame(assets));
test('fails if multiplier value is not in range', () {
expect(
() => Multiplier(
value: 1,
position: Vector2.zero(),
),
throwsA(isA<AssertionError>()),
);
expect(
() => Multiplier(
value: 7,
position: Vector2.zero(),
),
throwsA(isA<AssertionError>()),
);
});
group('renders correctly', () { group('renders correctly', () {
flameTester.testGameWidget( flameTester.testGameWidget(
'x2 active', 'x2 active',
setUp: (game, tester) async { setUp: (game, tester) async {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 2, value: MultiplierValue.x2,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
@ -55,17 +38,18 @@ void main() {
multiplier.toggle(2); multiplier.toggle(2);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.active, MultiplierSpriteState.active,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater( await expectLater(
find.byGame<TestGame>(), find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x2-active.png'), matchesGoldenFile('golden/multipliers/x2-active.png'),
@ -79,23 +63,24 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 2, value: MultiplierValue.x2,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.inactive, MultiplierSpriteState.inactive,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater( await expectLater(
find.byGame<TestGame>(), find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x2-inactive.png'), matchesGoldenFile('golden/multipliers/x2-inactive.png'),
@ -109,28 +94,24 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 2, value: MultiplierValue.x2,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
multiplier.toggle(1); multiplier.toggle(1);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.inactive, MultiplierSpriteState.inactive,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater(
find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x2-inactive.png'),
);
}, },
); );
@ -140,7 +121,7 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 3, value: MultiplierValue.x3,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
@ -148,17 +129,18 @@ void main() {
multiplier.toggle(3); multiplier.toggle(3);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.active, MultiplierSpriteState.active,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater( await expectLater(
find.byGame<TestGame>(), find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x3-active.png'), matchesGoldenFile('golden/multipliers/x3-active.png'),
@ -172,23 +154,24 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 3, value: MultiplierValue.x3,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.inactive, MultiplierSpriteState.inactive,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater( await expectLater(
find.byGame<TestGame>(), find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x3-inactive.png'), matchesGoldenFile('golden/multipliers/x3-inactive.png'),
@ -202,28 +185,24 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 3, value: MultiplierValue.x3,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
multiplier.toggle(1); multiplier.toggle(1);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.inactive, MultiplierSpriteState.inactive,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater(
find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x3-inactive.png'),
);
}, },
); );
@ -233,7 +212,7 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 4, value: MultiplierValue.x4,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
@ -241,17 +220,18 @@ void main() {
multiplier.toggle(4); multiplier.toggle(4);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.active, MultiplierSpriteState.active,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater( await expectLater(
find.byGame<TestGame>(), find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x4-active.png'), matchesGoldenFile('golden/multipliers/x4-active.png'),
@ -265,23 +245,24 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 4, value: MultiplierValue.x4,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.inactive, MultiplierSpriteState.inactive,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater( await expectLater(
find.byGame<TestGame>(), find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x4-inactive.png'), matchesGoldenFile('golden/multipliers/x4-inactive.png'),
@ -295,28 +276,24 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 4, value: MultiplierValue.x4,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
multiplier.toggle(1); multiplier.toggle(1);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.inactive, MultiplierSpriteState.inactive,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater(
find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x4-inactive.png'),
);
}, },
); );
@ -326,7 +303,7 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 5, value: MultiplierValue.x5,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
@ -334,17 +311,18 @@ void main() {
multiplier.toggle(5); multiplier.toggle(5);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.active, MultiplierSpriteState.active,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater( await expectLater(
find.byGame<TestGame>(), find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x5-active.png'), matchesGoldenFile('golden/multipliers/x5-active.png'),
@ -358,23 +336,24 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 5, value: MultiplierValue.x5,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.inactive, MultiplierSpriteState.inactive,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater( await expectLater(
find.byGame<TestGame>(), find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x5-inactive.png'), matchesGoldenFile('golden/multipliers/x5-inactive.png'),
@ -388,28 +367,24 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 5, value: MultiplierValue.x5,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
multiplier.toggle(1); multiplier.toggle(1);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.inactive, MultiplierSpriteState.inactive,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater(
find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x5-inactive.png'),
);
}, },
); );
@ -419,7 +394,7 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 6, value: MultiplierValue.x6,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
@ -427,17 +402,18 @@ void main() {
multiplier.toggle(6); multiplier.toggle(6);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.active, MultiplierSpriteState.active,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater( await expectLater(
find.byGame<TestGame>(), find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x6-active.png'), matchesGoldenFile('golden/multipliers/x6-active.png'),
@ -451,23 +427,24 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 6, value: MultiplierValue.x6,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.inactive, MultiplierSpriteState.inactive,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater( await expectLater(
find.byGame<TestGame>(), find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x6-inactive.png'), matchesGoldenFile('golden/multipliers/x6-inactive.png'),
@ -481,28 +458,24 @@ void main() {
await game.images.loadAll(assets); await game.images.loadAll(assets);
final multiplier = Multiplier( final multiplier = Multiplier(
value: 6, value: MultiplierValue.x6,
position: Vector2.zero(), position: Vector2.zero(),
); );
await game.ensureAdd(multiplier); await game.ensureAdd(multiplier);
multiplier.toggle(1); multiplier.toggle(1);
await tester.pump(); await tester.pump();
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
expect( expect(
multiplier.children game
.descendants()
.whereType<MultiplierSpriteGroupComponent>() .whereType<MultiplierSpriteGroupComponent>()
.first .first
.current, .current,
MultiplierSpriteState.inactive, MultiplierSpriteState.inactive,
); );
game.camera.followVector2(Vector2.zero());
},
verify: (game, tester) async {
await expectLater(
find.byGame<TestGame>(),
matchesGoldenFile('golden/multipliers/x6-inactive.png'),
);
}, },
); );
}); });

Loading…
Cancel
Save