From 1a1be9248105d7235778bcc53d51dcbd65c5ebb0 Mon Sep 17 00:00:00 2001 From: alestiago Date: Wed, 27 Apr 2022 14:16:53 +0100 Subject: [PATCH] feat: included GoogleLetter.test --- .../components/google_letter/google_letter.dart | 16 +++++++++++++--- ...google_letter_ball_contact_behavior_test.dart | 2 +- .../google_letter/google_letter_test.dart | 2 +- 3 files changed, 15 insertions(+), 5 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 5e005b9d..c7fe10d8 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 @@ -1,5 +1,6 @@ import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; +import 'package:flutter/material.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/src/components/google_letter/behaviors/behaviors.dart'; import 'package:pinball_flame/pinball_flame.dart'; @@ -12,9 +13,8 @@ export 'cubit/google_letter_cubit.dart'; class GoogleLetter extends BodyComponent with InitialPosition { /// {@macro google_letter} GoogleLetter( - int index, { - GoogleLetterCubit? bloc, - }) : bloc = bloc ?? GoogleLetterCubit(), + int index, + ) : bloc = GoogleLetterCubit(), super( children: [ GoogleLetterBallContactBehavior(), @@ -22,6 +22,16 @@ class GoogleLetter extends BodyComponent with InitialPosition { ], ); + /// Creates an [GoogleLetter] without any children. + /// + /// This can be used for testing [GoogleLetter]'s behaviors in isolation. + // TODO(alestiago): Refactor injecting bloc once the following is merged: + // https://github.com/flame-engine/flame/pull/1538 + @visibleForTesting + GoogleLetter.test({ + required this.bloc, + }); + // TODO(alestiago): Consider refactoring once the following is merged: // https://github.com/flame-engine/flame/pull/1538 // ignore: public_member_api_docs diff --git a/packages/pinball_components/test/src/components/google_letter/behaviors/google_letter_ball_contact_behavior_test.dart b/packages/pinball_components/test/src/components/google_letter/behaviors/google_letter_ball_contact_behavior_test.dart index ed10fb5b..9906cc25 100644 --- a/packages/pinball_components/test/src/components/google_letter/behaviors/google_letter_ball_contact_behavior_test.dart +++ b/packages/pinball_components/test/src/components/google_letter/behaviors/google_letter_ball_contact_behavior_test.dart @@ -36,7 +36,7 @@ void main() { initialState: GoogleLetterState.active, ); - final googleLetter = GoogleLetter(0, bloc: bloc); + final googleLetter = GoogleLetter.test(bloc: bloc); await googleLetter.add(behavior); await game.ensureAdd(googleLetter); 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 d57db289..624168b9 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 @@ -96,7 +96,7 @@ void main() { initialState: GoogleLetterState.active, ); when(bloc.close).thenAnswer((_) async {}); - final googleLetter = GoogleLetter(0, bloc: bloc); + final googleLetter = GoogleLetter.test(bloc: bloc); await game.ensureAdd(googleLetter); game.remove(googleLetter);