|
|
|
@ -3,6 +3,7 @@
|
|
|
|
|
import 'package:flame/components.dart';
|
|
|
|
|
import 'package:flame_test/flame_test.dart';
|
|
|
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
|
import 'package:mocktail/mocktail.dart';
|
|
|
|
|
import 'package:pinball/game/game.dart';
|
|
|
|
|
|
|
|
|
|
import '../helpers/helpers.dart';
|
|
|
|
@ -11,6 +12,9 @@ void main() {
|
|
|
|
|
group('PinballGame', () {
|
|
|
|
|
TestWidgetsFlutterBinding.ensureInitialized();
|
|
|
|
|
final flameTester = FlameTester(PinballGameTest.create);
|
|
|
|
|
final debugModeFlameTester = FlameTester(
|
|
|
|
|
() => PinballGame(isDebugMode: true),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// TODO(alestiago): test if [PinballGame] registers
|
|
|
|
|
// [BallScorePointsCallback] once the following issue is resolved:
|
|
|
|
@ -49,6 +53,24 @@ void main() {
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
debugModeFlameTester.test('adds a ball on tap up', (game) async {
|
|
|
|
|
await game.ready();
|
|
|
|
|
|
|
|
|
|
final eventPosition = MockEventPosition();
|
|
|
|
|
when(() => eventPosition.game).thenReturn(Vector2.all(10));
|
|
|
|
|
|
|
|
|
|
final tapUpEvent = MockTapUpInfo();
|
|
|
|
|
when(() => tapUpEvent.eventPosition).thenReturn(eventPosition);
|
|
|
|
|
|
|
|
|
|
game.onTapUp(tapUpEvent);
|
|
|
|
|
await game.ready();
|
|
|
|
|
|
|
|
|
|
expect(
|
|
|
|
|
game.children.whereType<Ball>().length,
|
|
|
|
|
equals(1),
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|