|
|
@ -196,15 +196,6 @@ void main() {
|
|
|
|
final gameBloc = MockGameBloc();
|
|
|
|
final gameBloc = MockGameBloc();
|
|
|
|
final tester = flameBlocTester(gameBloc: () => gameBloc);
|
|
|
|
final tester = flameBlocTester(gameBloc: () => gameBloc);
|
|
|
|
|
|
|
|
|
|
|
|
BonusLetter _getBonusLetter(PinballGame game) {
|
|
|
|
|
|
|
|
return game.children
|
|
|
|
|
|
|
|
.whereType<BonusWord>()
|
|
|
|
|
|
|
|
.first
|
|
|
|
|
|
|
|
.children
|
|
|
|
|
|
|
|
.whereType<BonusLetter>()
|
|
|
|
|
|
|
|
.first;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setUp(() {
|
|
|
|
setUp(() {
|
|
|
|
whenListen(
|
|
|
|
whenListen(
|
|
|
|
gameBloc,
|
|
|
|
gameBloc,
|
|
|
@ -217,11 +208,11 @@ void main() {
|
|
|
|
'adds BonusLetterActivated to GameBloc when not activated',
|
|
|
|
'adds BonusLetterActivated to GameBloc when not activated',
|
|
|
|
(game, tester) async {
|
|
|
|
(game, tester) async {
|
|
|
|
await game.ready();
|
|
|
|
await game.ready();
|
|
|
|
|
|
|
|
final bonusLetter = game.descendants().whereType<BonusLetter>().first;
|
|
|
|
_getBonusLetter(game).activate();
|
|
|
|
bonusLetter.activate();
|
|
|
|
|
|
|
|
await game.ready();
|
|
|
|
|
|
|
|
|
|
|
|
await tester.pump();
|
|
|
|
await tester.pump();
|
|
|
|
|
|
|
|
|
|
|
|
verify(() => gameBloc.add(const BonusLetterActivated(0))).called(1);
|
|
|
|
verify(() => gameBloc.add(const BonusLetterActivated(0))).called(1);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
);
|
|
|
|
);
|
|
|
@ -241,10 +232,11 @@ void main() {
|
|
|
|
Stream.value(state),
|
|
|
|
Stream.value(state),
|
|
|
|
initialState: state,
|
|
|
|
initialState: state,
|
|
|
|
);
|
|
|
|
);
|
|
|
|
await game.ready();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_getBonusLetter(game).activate();
|
|
|
|
await game.ready();
|
|
|
|
await game.ready(); // Making sure that all additions are done
|
|
|
|
final bonusLetter = game.descendants().whereType<BonusLetter>().first;
|
|
|
|
|
|
|
|
bonusLetter.activate();
|
|
|
|
|
|
|
|
await game.ready();
|
|
|
|
|
|
|
|
|
|
|
|
verifyNever(() => gameBloc.add(const BonusLetterActivated(0)));
|
|
|
|
verifyNever(() => gameBloc.add(const BonusLetterActivated(0)));
|
|
|
|
},
|
|
|
|
},
|
|
|
@ -253,8 +245,6 @@ void main() {
|
|
|
|
tester.widgetTest(
|
|
|
|
tester.widgetTest(
|
|
|
|
'adds a ColorEffect',
|
|
|
|
'adds a ColorEffect',
|
|
|
|
(game, tester) async {
|
|
|
|
(game, tester) async {
|
|
|
|
await game.ready();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const state = GameState(
|
|
|
|
const state = GameState(
|
|
|
|
score: 0,
|
|
|
|
score: 0,
|
|
|
|
balls: 2,
|
|
|
|
balls: 2,
|
|
|
@ -263,7 +253,9 @@ void main() {
|
|
|
|
bonusHistory: [],
|
|
|
|
bonusHistory: [],
|
|
|
|
);
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
final bonusLetter = _getBonusLetter(game);
|
|
|
|
await game.ready();
|
|
|
|
|
|
|
|
final bonusLetter = game.descendants().whereType<BonusLetter>().first;
|
|
|
|
|
|
|
|
bonusLetter.activate();
|
|
|
|
|
|
|
|
|
|
|
|
bonusLetter.onNewState(state);
|
|
|
|
bonusLetter.onNewState(state);
|
|
|
|
await tester.pump();
|
|
|
|
await tester.pump();
|
|
|
@ -278,8 +270,6 @@ void main() {
|
|
|
|
tester.widgetTest(
|
|
|
|
tester.widgetTest(
|
|
|
|
'only listens when there is a change on the letter status',
|
|
|
|
'only listens when there is a change on the letter status',
|
|
|
|
(game, tester) async {
|
|
|
|
(game, tester) async {
|
|
|
|
await game.ready();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const state = GameState(
|
|
|
|
const state = GameState(
|
|
|
|
score: 0,
|
|
|
|
score: 0,
|
|
|
|
balls: 2,
|
|
|
|
balls: 2,
|
|
|
@ -288,7 +278,9 @@ void main() {
|
|
|
|
bonusHistory: [],
|
|
|
|
bonusHistory: [],
|
|
|
|
);
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
final bonusLetter = _getBonusLetter(game);
|
|
|
|
await game.ready();
|
|
|
|
|
|
|
|
final bonusLetter = game.descendants().whereType<BonusLetter>().first;
|
|
|
|
|
|
|
|
bonusLetter.activate();
|
|
|
|
|
|
|
|
|
|
|
|
expect(
|
|
|
|
expect(
|
|
|
|
bonusLetter.listenWhen(const GameState.initial(), state),
|
|
|
|
bonusLetter.listenWhen(const GameState.initial(), state),
|
|
|
|