diff --git a/test/game/components/alien_zone_test.dart b/test/game/components/alien_zone_test.dart index 6bea22ed..bd8fd9c3 100644 --- a/test/game/components/alien_zone_test.dart +++ b/test/game/components/alien_zone_test.dart @@ -1,8 +1,9 @@ // ignore_for_file: cascade_invocations +import 'dart:ui'; + import 'package:bloc_test/bloc_test.dart'; import 'package:flame_test/flame_test.dart'; -import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; import 'package:pinball/game/game.dart'; @@ -43,6 +44,7 @@ void main() { }); group('bumpers', () { + late ControlledAlienBumper controlledAlienBumper; late Ball ball; late GameBloc gameBloc; @@ -64,31 +66,27 @@ void main() { flameTester.testGameWidget( 'activate when deactivated bumper is hit', setUp: (game, tester) async { - final alienZone = AlienZone(); - await game.ensureAdd(ball); - - final bumpers = alienZone.descendants().whereType(); + controlledAlienBumper = ControlledAlienBumper.a(); + await game.ensureAdd(controlledAlienBumper); - for (final bumper in bumpers) { - beginContact(game, bumper, ball); - final controller = bumper.firstChild()!; - expect(controller.isActivated, isTrue); - } + controlledAlienBumper.controller.hit(); + }, + verify: (game, tester) async { + expect(controlledAlienBumper.controller.isActivated, isTrue); }, ); flameTester.testGameWidget( 'deactivate when activated bumper is hit', setUp: (game, tester) async { - final alienZone = AlienZone(); - await game.ensureAdd(ball); - - final bumpers = alienZone.descendants().whereType(); + controlledAlienBumper = ControlledAlienBumper.a(); + await game.ensureAdd(controlledAlienBumper); - for (final bumper in bumpers) { - final controller = bumper.firstChild()!; - expect(controller.isActivated, isFalse); - } + controlledAlienBumper.controller.hit(); + controlledAlienBumper.controller.hit(); + }, + verify: (game, tester) async { + expect(controlledAlienBumper.controller.isActivated, isFalse); }, );