From 285038c38169e3cbb60c9c60db58c648f1c3bfc5 Mon Sep 17 00:00:00 2001 From: Allison Ryan Date: Mon, 2 May 2022 00:07:51 -0500 Subject: [PATCH] test: update tests --- .../google_letter/google_letter.dart | 8 --- .../google_word/google_letter_game.dart | 9 ++- .../google_letter/google_letter_test.dart | 56 ++++++++++++------- .../google_word_bonus_behavior_test.dart | 15 +++++ .../google_word/google_word_test.dart | 28 +++++++++- test/game/pinball_game_test.dart | 18 ++++-- 6 files changed, 98 insertions(+), 36 deletions(-) diff --git a/packages/pinball_components/lib/src/components/google_letter/google_letter.dart b/packages/pinball_components/lib/src/components/google_letter/google_letter.dart index f92ee875..f20f6ac3 100644 --- a/packages/pinball_components/lib/src/components/google_letter/google_letter.dart +++ b/packages/pinball_components/lib/src/components/google_letter/google_letter.dart @@ -127,14 +127,6 @@ class _GoogleLetterSpriteGroupComponent }, ]; - void activate() { - current = GoogleLetterState.active; - } - - void deactivate() { - current = GoogleLetterState.inactive; - } - @override Future onLoad() async { await super.onLoad(); diff --git a/packages/pinball_components/sandbox/lib/stories/google_word/google_letter_game.dart b/packages/pinball_components/sandbox/lib/stories/google_word/google_letter_game.dart index be90fdb9..b44720e5 100644 --- a/packages/pinball_components/sandbox/lib/stories/google_word/google_letter_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/google_word/google_letter_game.dart @@ -6,7 +6,14 @@ import 'package:pinball_components/pinball_components.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart'; class GoogleLetterGame extends BallGame { - GoogleLetterGame() : super(color: const Color(0xFF009900)); + GoogleLetterGame() + : super( + color: const Color(0xFF009900), + imagesFileNames: [ + Assets.images.googleWord.letter1.active.keyName, + Assets.images.googleWord.letter1.inactive.keyName, + ], + ); static const description = ''' Shows how a GoogleLetter is rendered. diff --git a/packages/pinball_components/test/src/components/google_letter/google_letter_test.dart b/packages/pinball_components/test/src/components/google_letter/google_letter_test.dart index 7ad0e64b..e31dbf31 100644 --- a/packages/pinball_components/test/src/components/google_letter/google_letter_test.dart +++ b/packages/pinball_components/test/src/components/google_letter/google_letter_test.dart @@ -12,7 +12,21 @@ import '../../../helpers/helpers.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final flameTester = FlameTester(TestGame.new); + final assets = [ + Assets.images.googleWord.letter1.active.keyName, + Assets.images.googleWord.letter1.inactive.keyName, + Assets.images.googleWord.letter2.active.keyName, + Assets.images.googleWord.letter2.inactive.keyName, + Assets.images.googleWord.letter3.active.keyName, + Assets.images.googleWord.letter3.inactive.keyName, + Assets.images.googleWord.letter4.active.keyName, + Assets.images.googleWord.letter4.inactive.keyName, + Assets.images.googleWord.letter5.active.keyName, + Assets.images.googleWord.letter5.inactive.keyName, + Assets.images.googleWord.letter6.active.keyName, + Assets.images.googleWord.letter6.inactive.keyName, + ]; + final flameTester = FlameTester(() => TestGame(assets)); group('Google Letter', () { flameTester.test( @@ -81,16 +95,6 @@ void main() { }, ); - flameTester.test('adds new children', (game) async { - final component = Component(); - final googleLetter = GoogleLetter( - 1, - children: [component], - ); - await game.ensureAdd(googleLetter); - expect(googleLetter.children, contains(component)); - }); - test('throws error when index out of range', () { expect(() => GoogleLetter(-1), throwsA(isA())); expect(() => GoogleLetter(6), throwsA(isA())); @@ -116,15 +120,27 @@ void main() { verify(bloc.close).called(1); }); - flameTester.test('adds a GoogleLetterBallContactBehavior', (game) async { - final googleLetter = GoogleLetter(0); - await game.ensureAdd(googleLetter); - expect( - googleLetter.children - .whereType() - .single, - isNotNull, - ); + group('adds', () { + flameTester.test('new children', (game) async { + final component = Component(); + final googleLetter = GoogleLetter( + 1, + children: [component], + ); + await game.ensureAdd(googleLetter); + expect(googleLetter.children, contains(component)); + }); + + flameTester.test('a GoogleLetterBallContactBehavior', (game) async { + final googleLetter = GoogleLetter(0); + await game.ensureAdd(googleLetter); + expect( + googleLetter.children + .whereType() + .single, + isNotNull, + ); + }); }); }); } diff --git a/test/game/components/google_word/behaviors/google_word_bonus_behavior_test.dart b/test/game/components/google_word/behaviors/google_word_bonus_behavior_test.dart index deca61ee..1facedf0 100644 --- a/test/game/components/google_word/behaviors/google_word_bonus_behavior_test.dart +++ b/test/game/components/google_word/behaviors/google_word_bonus_behavior_test.dart @@ -12,6 +12,20 @@ import '../../../../helpers/helpers.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); + final assets = [ + Assets.images.googleWord.letter1.active.keyName, + Assets.images.googleWord.letter1.inactive.keyName, + Assets.images.googleWord.letter2.active.keyName, + Assets.images.googleWord.letter2.inactive.keyName, + Assets.images.googleWord.letter3.active.keyName, + Assets.images.googleWord.letter3.inactive.keyName, + Assets.images.googleWord.letter4.active.keyName, + Assets.images.googleWord.letter4.inactive.keyName, + Assets.images.googleWord.letter5.active.keyName, + Assets.images.googleWord.letter5.inactive.keyName, + Assets.images.googleWord.letter6.active.keyName, + Assets.images.googleWord.letter6.inactive.keyName, + ]; group('GoogleWordBonusBehaviors', () { late GameBloc gameBloc; @@ -28,6 +42,7 @@ void main() { final flameBlocTester = FlameBlocTester( gameBuilder: EmptyPinballTestGame.new, blocBuilder: () => gameBloc, + assets: assets, ); flameBlocTester.testGameWidget( diff --git a/test/game/components/google_word/google_word_test.dart b/test/game/components/google_word/google_word_test.dart index 2d7d04e5..81c3431e 100644 --- a/test/game/components/google_word/google_word_test.dart +++ b/test/game/components/google_word/google_word_test.dart @@ -1,6 +1,9 @@ +// ignore_for_file: cascade_invocations + import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_test/flame_test.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:pinball/game/components/google_word/behaviors/behaviors.dart'; import 'package:pinball/game/game.dart'; import 'package:pinball_components/pinball_components.dart'; @@ -8,7 +11,21 @@ import '../../../helpers/helpers.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final flameTester = FlameTester(EmptyPinballTestGame.new); + final assets = [ + Assets.images.googleWord.letter1.active.keyName, + Assets.images.googleWord.letter1.inactive.keyName, + Assets.images.googleWord.letter2.active.keyName, + Assets.images.googleWord.letter2.inactive.keyName, + Assets.images.googleWord.letter3.active.keyName, + Assets.images.googleWord.letter3.inactive.keyName, + Assets.images.googleWord.letter4.active.keyName, + Assets.images.googleWord.letter4.inactive.keyName, + Assets.images.googleWord.letter5.active.keyName, + Assets.images.googleWord.letter5.inactive.keyName, + Assets.images.googleWord.letter6.active.keyName, + Assets.images.googleWord.letter6.inactive.keyName, + ]; + final flameTester = FlameTester(() => EmptyPinballTestGame(assets: assets)); group('GoogleWord', () { flameTester.test( @@ -22,5 +39,14 @@ void main() { expect(letters.length, equals(word.length)); }, ); + + flameTester.test('adds a GoogleWordBonusBehavior', (game) async { + final googleWord = GoogleWord(position: Vector2.zero()); + await game.ensureAdd(googleWord); + expect( + googleWord.children.whereType().single, + isNotNull, + ); + }); }); } diff --git a/test/game/pinball_game_test.dart b/test/game/pinball_game_test.dart index 687280c0..5c70696a 100644 --- a/test/game/pinball_game_test.dart +++ b/test/game/pinball_game_test.dart @@ -45,12 +45,18 @@ void main() { Assets.images.dash.bumper.main.inactive.keyName, Assets.images.flipper.left.keyName, Assets.images.flipper.right.keyName, - Assets.images.googleWord.letter1.keyName, - Assets.images.googleWord.letter2.keyName, - Assets.images.googleWord.letter3.keyName, - Assets.images.googleWord.letter4.keyName, - Assets.images.googleWord.letter5.keyName, - Assets.images.googleWord.letter6.keyName, + Assets.images.googleWord.letter1.active.keyName, + Assets.images.googleWord.letter1.inactive.keyName, + Assets.images.googleWord.letter2.active.keyName, + Assets.images.googleWord.letter2.inactive.keyName, + Assets.images.googleWord.letter3.active.keyName, + Assets.images.googleWord.letter3.inactive.keyName, + Assets.images.googleWord.letter4.active.keyName, + Assets.images.googleWord.letter4.inactive.keyName, + Assets.images.googleWord.letter5.active.keyName, + Assets.images.googleWord.letter5.inactive.keyName, + Assets.images.googleWord.letter6.active.keyName, + Assets.images.googleWord.letter6.inactive.keyName, Assets.images.kicker.left.lit.keyName, Assets.images.kicker.left.dimmed.keyName, Assets.images.kicker.right.lit.keyName,