refactor: use extension for initial pinball game

pull/20/head
Allison Ryan 4 years ago
parent 9dd3cddaf0
commit 0f01e266e2

@ -8,13 +8,6 @@ import 'package:pinball_theme/pinball_theme.dart';
class PinballGame extends Forge2DGame with FlameBloc {
PinballGame({required this.theme});
PinballGame.initial()
: this(
theme: const PinballTheme(
characterTheme: DashTheme(),
),
);
final PinballTheme theme;
void spawnBall() {

@ -5,11 +5,13 @@ import 'package:flame_test/flame_test.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:pinball/game/game.dart';
import '../../helpers/helpers.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
group('Anchor', () {
final flameTester = FlameTester(PinballGame.initial);
final flameTester = FlameTester(PinballGameX.initial);
flameTester.test(
'loads correctly',

@ -13,7 +13,7 @@ void main() {
TestWidgetsFlutterBinding.ensureInitialized();
group('Ball', () {
final flameTester = FlameTester(PinballGame.initial);
final flameTester = FlameTester(PinballGameX.initial);
flameTester.test(
'loads correctly',

@ -10,7 +10,7 @@ import '../../helpers/helpers.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
final flameTester = FlameTester(PinballGame.initial);
final flameTester = FlameTester(PinballGameX.initial);
group('Plunger', () {
flameTester.test(

@ -32,7 +32,7 @@ void main() {
},
);
});
final flameTester = FlameTester(PinballGame.initial);
final flameTester = FlameTester(PinballGameX.initial);
flameTester.test(
'loads correctly',

@ -1,8 +1,4 @@
import 'package:bloc_test/bloc_test.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:pinball/game/game.dart';
import '../helpers/helpers.dart';
void main() {
group('PinballGame', () {
@ -10,23 +6,4 @@ void main() {
// [BallScorePointsCallback] once the following issue is resolved:
// https://github.com/flame-engine/flame/issues/1416
});
group('PinballGame.initial', () {
final gameBloc = MockGameBloc();
setUp(() {
whenListen(
gameBloc,
const Stream<GameState>.empty(),
initialState: const GameState.initial(),
);
});
flameBlocTester(gameBloc: gameBloc).test(
'has initial theme',
(game) async {
expect(game.theme, PinballGame.initial().theme);
},
);
});
}

@ -1,12 +1,13 @@
import 'package:flame_test/flame_test.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:pinball/game/game.dart';
import 'package:pinball_theme/pinball_theme.dart';
FlameTester<PinballGame> flameBlocTester({
required GameBloc gameBloc,
}) {
return FlameTester<PinballGame>(
PinballGame.initial,
PinballGameX.initial,
pumpWidget: (gameWidget, tester) async {
await tester.pumpWidget(
BlocProvider.value(
@ -17,3 +18,11 @@ FlameTester<PinballGame> flameBlocTester({
},
);
}
extension PinballGameX on PinballGame {
static PinballGame initial() => PinballGame(
theme: const PinballTheme(
characterTheme: DashTheme(),
),
);
}

Loading…
Cancel
Save