feat: included GoogleLetter.test

pull/234/head
alestiago 3 years ago
parent c9dbb4090d
commit 1a1be92481

@ -1,5 +1,6 @@
import 'package:flame/components.dart'; import 'package:flame/components.dart';
import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:flutter/material.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
import 'package:pinball_components/src/components/google_letter/behaviors/behaviors.dart'; import 'package:pinball_components/src/components/google_letter/behaviors/behaviors.dart';
import 'package:pinball_flame/pinball_flame.dart'; import 'package:pinball_flame/pinball_flame.dart';
@ -12,9 +13,8 @@ export 'cubit/google_letter_cubit.dart';
class GoogleLetter extends BodyComponent with InitialPosition { class GoogleLetter extends BodyComponent with InitialPosition {
/// {@macro google_letter} /// {@macro google_letter}
GoogleLetter( GoogleLetter(
int index, { int index,
GoogleLetterCubit? bloc, ) : bloc = GoogleLetterCubit(),
}) : bloc = bloc ?? GoogleLetterCubit(),
super( super(
children: [ children: [
GoogleLetterBallContactBehavior(), 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: // TODO(alestiago): Consider refactoring once the following is merged:
// https://github.com/flame-engine/flame/pull/1538 // https://github.com/flame-engine/flame/pull/1538
// ignore: public_member_api_docs // ignore: public_member_api_docs

@ -36,7 +36,7 @@ void main() {
initialState: GoogleLetterState.active, initialState: GoogleLetterState.active,
); );
final googleLetter = GoogleLetter(0, bloc: bloc); final googleLetter = GoogleLetter.test(bloc: bloc);
await googleLetter.add(behavior); await googleLetter.add(behavior);
await game.ensureAdd(googleLetter); await game.ensureAdd(googleLetter);

@ -96,7 +96,7 @@ void main() {
initialState: GoogleLetterState.active, initialState: GoogleLetterState.active,
); );
when(bloc.close).thenAnswer((_) async {}); when(bloc.close).thenAnswer((_) async {});
final googleLetter = GoogleLetter(0, bloc: bloc); final googleLetter = GoogleLetter.test(bloc: bloc);
await game.ensureAdd(googleLetter); await game.ensureAdd(googleLetter);
game.remove(googleLetter); game.remove(googleLetter);

Loading…
Cancel
Save