diff --git a/lib/game/components/board.dart b/lib/game/components/board.dart index af03efdd..4525f528 100644 --- a/lib/game/components/board.dart +++ b/lib/game/components/board.dart @@ -1,5 +1,6 @@ import 'package:flame/components.dart'; import 'package:pinball/game/game.dart'; +import 'package:pinball_components/pinball_components.dart'; /// {@template board} /// The main flat surface of the [PinballGame], where the [Flipper]s, diff --git a/test/flame/blueprint_test.dart b/test/flame/blueprint_test.dart index e521a83c..3a9f5ed3 100644 --- a/test/flame/blueprint_test.dart +++ b/test/flame/blueprint_test.dart @@ -1,5 +1,4 @@ import 'package:flame/components.dart'; -import 'package:flame/game.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; import 'package:pinball/flame/blueprint.dart'; @@ -9,7 +8,7 @@ import '../helpers/helpers.dart'; class MyBlueprint extends Blueprint { @override - void build() { + void build(_) { add(Component()); addAll([Component(), Component()]); } @@ -17,7 +16,7 @@ class MyBlueprint extends Blueprint { class MyForge2dBlueprint extends Forge2DBlueprint { @override - void build() { + void build(_) { addContactCallback(MockContactCallback()); addAllContactCallback([MockContactCallback(), MockContactCallback()]); } @@ -26,7 +25,7 @@ class MyForge2dBlueprint extends Forge2DBlueprint { void main() { group('Blueprint', () { test('components can be added to it', () { - final blueprint = MyBlueprint()..build(); + final blueprint = MyBlueprint()..build(MockPinballGame()); expect(blueprint.components.length, equals(3)); }); @@ -59,7 +58,7 @@ void main() { }); test('callbacks can be added to it', () { - final blueprint = MyForge2dBlueprint()..build(); + final blueprint = MyForge2dBlueprint()..build(MockPinballGame()); expect(blueprint.callbacks.length, equals(3)); }); @@ -92,12 +91,5 @@ void main() { ); }, ); - - test('throws assertion error when used on a non Forge2dGame', () { - expect( - () => MyForge2dBlueprint().attach(FlameGame()), - throwsAssertionError, - ); - }); }); } diff --git a/test/game/components/score_points_test.dart b/test/game/components/score_points_test.dart index 895ee8b7..30ec70db 100644 --- a/test/game/components/score_points_test.dart +++ b/test/game/components/score_points_test.dart @@ -1,3 +1,4 @@ +import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; @@ -29,6 +30,7 @@ void main() { late PinballGame game; late GameBloc bloc; late Ball ball; + late ComponentSet componentSet; late BallController ballController; late FakeScorePoints fakeScorePoints; @@ -36,6 +38,7 @@ void main() { game = MockPinballGame(); bloc = MockGameBloc(); ball = MockBall(); + componentSet = MockComponentSet(); ballController = MockBallController(); fakeScorePoints = FakeScorePoints(); }); @@ -48,8 +51,10 @@ void main() { test( 'emits Scored event with points', () { - when(() => ball.controller).thenReturn(ballController); - when(() => ball.gameRef).thenReturn(game); + when(() => componentSet.whereType()) + .thenReturn([ballController]); + when(() => ball.children).thenReturn(componentSet); + when(() => ballController.gameRef).thenReturn(game); when(game.read).thenReturn(bloc); BallScorePointsCallback().begin( diff --git a/test/game/components/wall_test.dart b/test/game/components/wall_test.dart index 2b7f0cc8..60aa12f9 100644 --- a/test/game/components/wall_test.dart +++ b/test/game/components/wall_test.dart @@ -1,5 +1,6 @@ // ignore_for_file: cascade_invocations +import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_test/flame_test.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -20,7 +21,11 @@ void main() { final wall = MockBottomWall(); final ballController = MockBallController(); final ball = MockBall(); - when(() => ball.controller).thenReturn(ballController); + final componentSet = MockComponentSet(); + + when(() => componentSet.whereType()) + .thenReturn([ballController]); + when(() => ball.children).thenReturn(componentSet); BottomWallBallContactCallback() // Remove once https://github.com/flame-engine/flame/pull/1415 diff --git a/test/game/pinball_game_test.dart b/test/game/pinball_game_test.dart index b9e0ac7d..65732608 100644 --- a/test/game/pinball_game_test.dart +++ b/test/game/pinball_game_test.dart @@ -5,6 +5,7 @@ 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 'package:pinball_components/pinball_components.dart'; import '../helpers/helpers.dart'; diff --git a/test/helpers/mocks.dart b/test/helpers/mocks.dart index 09f90f7d..6f763076 100644 --- a/test/helpers/mocks.dart +++ b/test/helpers/mocks.dart @@ -1,3 +1,4 @@ +import 'package:flame/components.dart'; import 'package:flame/input.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flutter/foundation.dart'; @@ -62,3 +63,5 @@ class MockFixture extends Mock implements Fixture {} class MockSpaceshipEntrance extends Mock implements SpaceshipEntrance {} class MockSpaceshipHole extends Mock implements SpaceshipHole {} + +class MockComponentSet extends Mock implements ComponentSet {}