|
|
@ -22,31 +22,63 @@ void main() {
|
|
|
|
final flameTester = FlameTester(() => TestGame(assets));
|
|
|
|
final flameTester = FlameTester(() => TestGame(assets));
|
|
|
|
|
|
|
|
|
|
|
|
group('Multiball', () {
|
|
|
|
group('Multiball', () {
|
|
|
|
flameTester.test('"a" loads correctly', (game) async {
|
|
|
|
group('loads correctly', () {
|
|
|
|
|
|
|
|
flameTester.test('"a"', (game) async {
|
|
|
|
final multiball = Multiball.a();
|
|
|
|
final multiball = Multiball.a();
|
|
|
|
await game.ensureAdd(multiball);
|
|
|
|
await game.ensureAdd(multiball);
|
|
|
|
|
|
|
|
|
|
|
|
expect(game.contains(multiball), isTrue);
|
|
|
|
expect(game.contains(multiball), isTrue);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
flameTester.test('"b" loads correctly', (game) async {
|
|
|
|
flameTester.test('"b"', (game) async {
|
|
|
|
final multiball = Multiball.b();
|
|
|
|
final multiball = Multiball.b();
|
|
|
|
await game.ensureAdd(multiball);
|
|
|
|
await game.ensureAdd(multiball);
|
|
|
|
expect(game.contains(multiball), isTrue);
|
|
|
|
expect(game.contains(multiball), isTrue);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
flameTester.test('"c" loads correctly', (game) async {
|
|
|
|
flameTester.test('"c"', (game) async {
|
|
|
|
final multiball = Multiball.c();
|
|
|
|
final multiball = Multiball.c();
|
|
|
|
await game.ensureAdd(multiball);
|
|
|
|
await game.ensureAdd(multiball);
|
|
|
|
|
|
|
|
|
|
|
|
expect(game.contains(multiball), isTrue);
|
|
|
|
expect(game.contains(multiball), isTrue);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
flameTester.test('"d" loads correctly', (game) async {
|
|
|
|
flameTester.test('"d"', (game) async {
|
|
|
|
final multiball = Multiball.d();
|
|
|
|
final multiball = Multiball.d();
|
|
|
|
await game.ensureAdd(multiball);
|
|
|
|
await game.ensureAdd(multiball);
|
|
|
|
expect(game.contains(multiball), isTrue);
|
|
|
|
expect(game.contains(multiball), isTrue);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
group('renders correctly', () {
|
|
|
|
|
|
|
|
flameTester.testGameWidget(
|
|
|
|
|
|
|
|
"'a'",
|
|
|
|
|
|
|
|
setUp: (game, tester) async {
|
|
|
|
|
|
|
|
await game.images.loadAll(assets);
|
|
|
|
|
|
|
|
final multiball = Multiball.d();
|
|
|
|
|
|
|
|
await game.ensureAdd(multiball);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
multiball.animate();
|
|
|
|
|
|
|
|
await tester.pump();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
expect(
|
|
|
|
|
|
|
|
multiball.children
|
|
|
|
|
|
|
|
.whereType<MultiballSpriteGroupComponent>()
|
|
|
|
|
|
|
|
.first
|
|
|
|
|
|
|
|
.current,
|
|
|
|
|
|
|
|
MultiballSpriteState.active,
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
game.camera.followVector2(Vector2.zero());
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
verify: (game, tester) async {
|
|
|
|
|
|
|
|
await expectLater(
|
|
|
|
|
|
|
|
find.byGame<TestGame>(),
|
|
|
|
|
|
|
|
matchesGoldenFile('golden/multiball/a-active.png'),
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
flameTester.test('animate switches between on and off sprites',
|
|
|
|
flameTester.test('animate switches between on and off sprites',
|
|
|
|
(game) async {
|
|
|
|
(game) async {
|
|
|
|