From 296add890f527076a11421ecb7093df34f471547 Mon Sep 17 00:00:00 2001 From: Allison Ryan Date: Sun, 1 May 2022 18:22:52 -0500 Subject: [PATCH] test: blinking and asset updates --- .../test/helpers/mocks.dart | 2 + .../test/src/components/golden/kickers.png | Bin 60136 -> 71945 bytes .../kicker_ball_contact_behavior_test.dart | 48 +++++++++ .../kicker_blinking_behavior_test.dart | 45 ++++++++ .../kicker/cubit/kicker_cubit_test.dart | 24 +++++ .../test/src/components/kicker_test.dart | 97 ++++++++++++------ test/game/components/bottom_group_test.dart | 4 + test/game/pinball_game_test.dart | 6 +- 8 files changed, 190 insertions(+), 36 deletions(-) create mode 100644 packages/pinball_components/test/src/components/kicker/behaviors/kicker_ball_contact_behavior_test.dart create mode 100644 packages/pinball_components/test/src/components/kicker/behaviors/kicker_blinking_behavior_test.dart create mode 100644 packages/pinball_components/test/src/components/kicker/cubit/kicker_cubit_test.dart diff --git a/packages/pinball_components/test/helpers/mocks.dart b/packages/pinball_components/test/helpers/mocks.dart index 33c5670d..c20a2920 100644 --- a/packages/pinball_components/test/helpers/mocks.dart +++ b/packages/pinball_components/test/helpers/mocks.dart @@ -26,3 +26,5 @@ class MockSparkyBumperCubit extends Mock implements SparkyBumperCubit {} class MockDashNestBumperCubit extends Mock implements DashNestBumperCubit {} class MockMultiplierCubit extends Mock implements MultiplierCubit {} + +class MockKickerCubit extends Mock implements KickerCubit {} diff --git a/packages/pinball_components/test/src/components/golden/kickers.png b/packages/pinball_components/test/src/components/golden/kickers.png index 231769238f77b05d239a6940780237d1c317f0d3..1b019de9d13193ee0a378356072f894150487b8f 100644 GIT binary patch literal 71945 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 bDhie{Y|^&xyH?Zs02Ftgu6{1-oD!M<){ocC literal 60136 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, + ); + }); + + flameTester.test( + 'beginContact emits onBallContacted when contacts with a ball', + (game) async { + final behavior = KickerBallContactBehavior(); + final bloc = MockKickerCubit(); + whenListen( + bloc, + const Stream.empty(), + initialState: KickerState.lit, + ); + + final kicker = Kicker.test(bloc: bloc); + await kicker.add(behavior); + await game.ensureAdd(kicker); + + behavior.beginContact(MockBall(), MockContact()); + + verify(kicker.bloc.onBallContacted).called(1); + }, + ); + }, + ); +} diff --git a/packages/pinball_components/test/src/components/kicker/behaviors/kicker_blinking_behavior_test.dart b/packages/pinball_components/test/src/components/kicker/behaviors/kicker_blinking_behavior_test.dart new file mode 100644 index 00000000..724f1b2f --- /dev/null +++ b/packages/pinball_components/test/src/components/kicker/behaviors/kicker_blinking_behavior_test.dart @@ -0,0 +1,45 @@ +import 'dart:async'; + +import 'package:bloc_test/bloc_test.dart'; +import 'package:flame_test/flame_test.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:mocktail/mocktail.dart'; +import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_components/src/components/kicker/behaviors/behaviors.dart'; + +import '../../../../helpers/helpers.dart'; + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + final flameTester = FlameTester(TestGame.new); + + group( + 'KickerBlinkingBehavior', + () { + flameTester.testGameWidget( + 'calls onBlinked after 0.05 seconds when dimmed', + setUp: (game, tester) async { + final behavior = KickerBlinkingBehavior(); + final bloc = MockKickerCubit(); + final streamController = StreamController(); + whenListen( + bloc, + streamController.stream, + initialState: KickerState.lit, + ); + + final kicker = Kicker.test(bloc: bloc); + await kicker.add(behavior); + await game.ensureAdd(kicker); + + streamController.add(KickerState.dimmed); + await tester.pump(); + game.update(0.05); + + await streamController.close(); + verify(bloc.onBlinked).called(1); + }, + ); + }, + ); +} diff --git a/packages/pinball_components/test/src/components/kicker/cubit/kicker_cubit_test.dart b/packages/pinball_components/test/src/components/kicker/cubit/kicker_cubit_test.dart new file mode 100644 index 00000000..ed1d4a46 --- /dev/null +++ b/packages/pinball_components/test/src/components/kicker/cubit/kicker_cubit_test.dart @@ -0,0 +1,24 @@ +import 'package:bloc_test/bloc_test.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:pinball_components/pinball_components.dart'; + +void main() { + group( + 'KickerCubit', + () { + blocTest( + 'onBallContacted emits dimmed', + build: KickerCubit.new, + act: (bloc) => bloc.onBallContacted(), + expect: () => [KickerState.dimmed], + ); + + blocTest( + 'onBlinked emits lit', + build: KickerCubit.new, + act: (bloc) => bloc.onBlinked(), + expect: () => [KickerState.lit], + ); + }, + ); +} diff --git a/packages/pinball_components/test/src/components/kicker_test.dart b/packages/pinball_components/test/src/components/kicker_test.dart index aebf9380..30191db3 100644 --- a/packages/pinball_components/test/src/components/kicker_test.dart +++ b/packages/pinball_components/test/src/components/kicker_test.dart @@ -1,29 +1,42 @@ // ignore_for_file: cascade_invocations +import 'package:bloc_test/bloc_test.dart'; 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'; +import 'package:mocktail/mocktail.dart'; import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_components/src/components/bumping_behavior.dart'; +import 'package:pinball_components/src/components/kicker/behaviors/behaviors.dart'; import '../../helpers/helpers.dart'; void main() { group('Kicker', () { - final flameTester = FlameTester(TestGame.new); + final assets = [ + Assets.images.kicker.left.lit.keyName, + Assets.images.kicker.left.dimmed.keyName, + Assets.images.kicker.right.lit.keyName, + Assets.images.kicker.right.dimmed.keyName, + ]; + final flameTester = FlameTester(() => TestGame(assets)); flameTester.testGameWidget( 'renders correctly', setUp: (game, tester) async { + await game.images.loadAll(assets); final leftKicker = Kicker( side: BoardSide.left, + bloc: KickerCubit(), )..initialPosition = Vector2(-20, 0); final rightKicker = Kicker( side: BoardSide.right, + bloc: KickerCubit(), )..initialPosition = Vector2(20, 0); await game.ensureAddAll([leftKicker, rightKicker]); game.camera.followVector2(Vector2.zero()); + await tester.pump(); }, verify: (game, tester) async { await expectLater( @@ -38,6 +51,7 @@ void main() { (game) async { final kicker = Kicker( side: BoardSide.left, + bloc: KickerCubit(), ); await game.ensureAdd(kicker); @@ -45,58 +59,73 @@ void main() { }, ); - flameTester.test('adds new children', (game) async { - final component = Component(); - final kicker = Kicker( - side: BoardSide.left, - children: [component], + // TODO(alestiago): Consider refactoring once the following is merged: + // https://github.com/flame-engine/flame/pull/1538 + // ignore: public_member_api_docs + flameTester.test('closes bloc when removed', (game) async { + final bloc = MockKickerCubit(); + whenListen( + bloc, + const Stream.empty(), + initialState: KickerState.lit, ); + when(bloc.close).thenAnswer((_) async {}); + final kicker = Kicker.test(bloc: bloc); + await game.ensureAdd(kicker); - expect(kicker.children, contains(component)); + game.remove(kicker); + await game.ready(); + + verify(bloc.close).called(1); }); - flameTester.test( - 'body is static', - (game) async { + group('adds', () { + flameTester.test('new children', (game) async { + final component = Component(); final kicker = Kicker( side: BoardSide.left, + children: [component], + bloc: KickerCubit(), ); await game.ensureAdd(kicker); + expect(kicker.children, contains(component)); + }); - expect(kicker.body.bodyType, equals(BodyType.static)); - }, - ); - - flameTester.test( - 'has restitution', - (game) async { + flameTester.test('a BumpingBehavior', (game) async { final kicker = Kicker( side: BoardSide.left, + bloc: KickerCubit(), ); await game.ensureAdd(kicker); - - final totalRestitution = kicker.body.fixtures.fold( - 0, - (total, fixture) => total + fixture.restitution, + expect( + kicker.children.whereType().single, + isNotNull, ); - expect(totalRestitution, greaterThan(0)); - }, - ); + }); - flameTester.test( - 'has no friction', - (game) async { + flameTester.test('a KickerBallContactBehavior', (game) async { final kicker = Kicker( side: BoardSide.left, + bloc: KickerCubit(), ); await game.ensureAdd(kicker); + expect( + kicker.children.whereType().single, + isNotNull, + ); + }); - final totalFriction = kicker.body.fixtures.fold( - 0, - (total, fixture) => total + fixture.friction, + flameTester.test('a KickerBlinkingBehavior', (game) async { + final kicker = Kicker( + side: BoardSide.left, + bloc: KickerCubit(), ); - expect(totalFriction, equals(0)); - }, - ); + await game.ensureAdd(kicker); + expect( + kicker.children.whereType().single, + isNotNull, + ); + }); + }); }); } diff --git a/test/game/components/bottom_group_test.dart b/test/game/components/bottom_group_test.dart index 3254f155..1d9e58ab 100644 --- a/test/game/components/bottom_group_test.dart +++ b/test/game/components/bottom_group_test.dart @@ -10,6 +10,10 @@ import '../../helpers/helpers.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); final assets = [ + Assets.images.kicker.left.lit.keyName, + Assets.images.kicker.left.dimmed.keyName, + Assets.images.kicker.right.lit.keyName, + Assets.images.kicker.right.dimmed.keyName, Assets.images.baseboard.left.keyName, Assets.images.baseboard.right.keyName, Assets.images.flipper.left.keyName, diff --git a/test/game/pinball_game_test.dart b/test/game/pinball_game_test.dart index 41fb1812..ff99aa15 100644 --- a/test/game/pinball_game_test.dart +++ b/test/game/pinball_game_test.dart @@ -51,8 +51,10 @@ void main() { Assets.images.googleWord.letter4.keyName, Assets.images.googleWord.letter5.keyName, Assets.images.googleWord.letter6.keyName, - Assets.images.kicker.left.keyName, - Assets.images.kicker.right.keyName, + Assets.images.kicker.left.lit.keyName, + Assets.images.kicker.left.dimmed.keyName, + Assets.images.kicker.right.lit.keyName, + Assets.images.kicker.right.dimmed.keyName, Assets.images.launchRamp.ramp.keyName, Assets.images.launchRamp.foregroundRailing.keyName, Assets.images.launchRamp.backgroundRailing.keyName,