|
|
|
@ -1,3 +1,5 @@
|
|
|
|
|
// ignore_for_file: prefer_const_constructors
|
|
|
|
|
|
|
|
|
|
import 'package:bloc_test/bloc_test.dart';
|
|
|
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
|
import 'package:pinball/game/game.dart';
|
|
|
|
@ -26,6 +28,7 @@ void main() {
|
|
|
|
|
balls: 2,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
const GameState(
|
|
|
|
@ -33,6 +36,7 @@ void main() {
|
|
|
|
|
balls: 1,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
const GameState(
|
|
|
|
@ -40,6 +44,7 @@ void main() {
|
|
|
|
|
balls: 0,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
@ -60,6 +65,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
const GameState(
|
|
|
|
@ -67,6 +73,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
@ -88,6 +95,7 @@ void main() {
|
|
|
|
|
balls: 2,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
const GameState(
|
|
|
|
@ -95,6 +103,7 @@ void main() {
|
|
|
|
|
balls: 1,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
const GameState(
|
|
|
|
@ -102,6 +111,7 @@ void main() {
|
|
|
|
|
balls: 0,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
@ -122,6 +132,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [0],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
GameState(
|
|
|
|
@ -129,6 +140,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [0, 1],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
GameState(
|
|
|
|
@ -136,6 +148,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [0, 1, 2],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
@ -157,6 +170,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [0],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
GameState(
|
|
|
|
@ -164,6 +178,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [0, 1],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
GameState(
|
|
|
|
@ -171,6 +186,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [0, 1, 2],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
GameState(
|
|
|
|
@ -178,6 +194,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [0, 1, 2, 3],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
GameState(
|
|
|
|
@ -185,6 +202,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [0, 1, 2, 3, 4],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
GameState(
|
|
|
|
@ -192,6 +210,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [GameBonus.word],
|
|
|
|
|
),
|
|
|
|
|
GameState(
|
|
|
|
@ -199,6 +218,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [GameBonus.word],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
@ -219,6 +239,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {'0'},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
GameState(
|
|
|
|
@ -226,6 +247,7 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {'0', '1'},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [],
|
|
|
|
|
),
|
|
|
|
|
GameState(
|
|
|
|
@ -233,10 +255,45 @@ void main() {
|
|
|
|
|
balls: 3,
|
|
|
|
|
activatedBonusLetters: [],
|
|
|
|
|
activatedDashNests: {},
|
|
|
|
|
activatedSparkyFires: {},
|
|
|
|
|
bonusHistory: [GameBonus.dashNest],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
group('SparkyFireActivated', () {
|
|
|
|
|
const fireId = '0';
|
|
|
|
|
|
|
|
|
|
blocTest<GameBloc, GameState>(
|
|
|
|
|
'adds fireId to collection when activate',
|
|
|
|
|
build: GameBloc.new,
|
|
|
|
|
act: (bloc) => bloc..add(const SparkyFireActivated(fireId)),
|
|
|
|
|
expect: () => [
|
|
|
|
|
isA<GameState>()
|
|
|
|
|
..having(
|
|
|
|
|
(state) => state.activatedSparkyFires,
|
|
|
|
|
'activatedSparkyFires',
|
|
|
|
|
contains(fireId),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
blocTest<GameBloc, GameState>(
|
|
|
|
|
'removes fireId from collection when deactivate',
|
|
|
|
|
build: GameBloc.new,
|
|
|
|
|
seed: () =>
|
|
|
|
|
GameState.initial().copyWith(activatedSparkyFires: {fireId}),
|
|
|
|
|
act: (bloc) => bloc..add(const SparkyFireActivated(fireId)),
|
|
|
|
|
expect: () => [
|
|
|
|
|
isA<GameState>()
|
|
|
|
|
..having(
|
|
|
|
|
(state) => state.activatedSparkyFires,
|
|
|
|
|
'activatedSparkyFires',
|
|
|
|
|
isNot(contains(fireId)),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|