test: update tests

pull/286/head
Allison Ryan 3 years ago
parent 452da12797
commit 285038c381

@ -127,14 +127,6 @@ class _GoogleLetterSpriteGroupComponent
}, },
]; ];
void activate() {
current = GoogleLetterState.active;
}
void deactivate() {
current = GoogleLetterState.inactive;
}
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();

@ -6,7 +6,14 @@ import 'package:pinball_components/pinball_components.dart';
import 'package:sandbox/stories/ball/basic_ball_game.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart';
class GoogleLetterGame extends BallGame { class GoogleLetterGame extends BallGame {
GoogleLetterGame() : super(color: const Color(0xFF009900)); GoogleLetterGame()
: super(
color: const Color(0xFF009900),
imagesFileNames: [
Assets.images.googleWord.letter1.active.keyName,
Assets.images.googleWord.letter1.inactive.keyName,
],
);
static const description = ''' static const description = '''
Shows how a GoogleLetter is rendered. Shows how a GoogleLetter is rendered.

@ -12,7 +12,21 @@ import '../../../helpers/helpers.dart';
void main() { void main() {
TestWidgetsFlutterBinding.ensureInitialized(); TestWidgetsFlutterBinding.ensureInitialized();
final flameTester = FlameTester(TestGame.new); final assets = [
Assets.images.googleWord.letter1.active.keyName,
Assets.images.googleWord.letter1.inactive.keyName,
Assets.images.googleWord.letter2.active.keyName,
Assets.images.googleWord.letter2.inactive.keyName,
Assets.images.googleWord.letter3.active.keyName,
Assets.images.googleWord.letter3.inactive.keyName,
Assets.images.googleWord.letter4.active.keyName,
Assets.images.googleWord.letter4.inactive.keyName,
Assets.images.googleWord.letter5.active.keyName,
Assets.images.googleWord.letter5.inactive.keyName,
Assets.images.googleWord.letter6.active.keyName,
Assets.images.googleWord.letter6.inactive.keyName,
];
final flameTester = FlameTester(() => TestGame(assets));
group('Google Letter', () { group('Google Letter', () {
flameTester.test( flameTester.test(
@ -81,16 +95,6 @@ void main() {
}, },
); );
flameTester.test('adds new children', (game) async {
final component = Component();
final googleLetter = GoogleLetter(
1,
children: [component],
);
await game.ensureAdd(googleLetter);
expect(googleLetter.children, contains(component));
});
test('throws error when index out of range', () { test('throws error when index out of range', () {
expect(() => GoogleLetter(-1), throwsA(isA<RangeError>())); expect(() => GoogleLetter(-1), throwsA(isA<RangeError>()));
expect(() => GoogleLetter(6), throwsA(isA<RangeError>())); expect(() => GoogleLetter(6), throwsA(isA<RangeError>()));
@ -116,15 +120,27 @@ void main() {
verify(bloc.close).called(1); verify(bloc.close).called(1);
}); });
flameTester.test('adds a GoogleLetterBallContactBehavior', (game) async { group('adds', () {
final googleLetter = GoogleLetter(0); flameTester.test('new children', (game) async {
await game.ensureAdd(googleLetter); final component = Component();
expect( final googleLetter = GoogleLetter(
googleLetter.children 1,
.whereType<GoogleLetterBallContactBehavior>() children: [component],
.single, );
isNotNull, await game.ensureAdd(googleLetter);
); expect(googleLetter.children, contains(component));
});
flameTester.test('a GoogleLetterBallContactBehavior', (game) async {
final googleLetter = GoogleLetter(0);
await game.ensureAdd(googleLetter);
expect(
googleLetter.children
.whereType<GoogleLetterBallContactBehavior>()
.single,
isNotNull,
);
});
}); });
}); });
} }

@ -12,6 +12,20 @@ import '../../../../helpers/helpers.dart';
void main() { void main() {
TestWidgetsFlutterBinding.ensureInitialized(); TestWidgetsFlutterBinding.ensureInitialized();
final assets = [
Assets.images.googleWord.letter1.active.keyName,
Assets.images.googleWord.letter1.inactive.keyName,
Assets.images.googleWord.letter2.active.keyName,
Assets.images.googleWord.letter2.inactive.keyName,
Assets.images.googleWord.letter3.active.keyName,
Assets.images.googleWord.letter3.inactive.keyName,
Assets.images.googleWord.letter4.active.keyName,
Assets.images.googleWord.letter4.inactive.keyName,
Assets.images.googleWord.letter5.active.keyName,
Assets.images.googleWord.letter5.inactive.keyName,
Assets.images.googleWord.letter6.active.keyName,
Assets.images.googleWord.letter6.inactive.keyName,
];
group('GoogleWordBonusBehaviors', () { group('GoogleWordBonusBehaviors', () {
late GameBloc gameBloc; late GameBloc gameBloc;
@ -28,6 +42,7 @@ void main() {
final flameBlocTester = FlameBlocTester<PinballGame, GameBloc>( final flameBlocTester = FlameBlocTester<PinballGame, GameBloc>(
gameBuilder: EmptyPinballTestGame.new, gameBuilder: EmptyPinballTestGame.new,
blocBuilder: () => gameBloc, blocBuilder: () => gameBloc,
assets: assets,
); );
flameBlocTester.testGameWidget( flameBlocTester.testGameWidget(

@ -1,6 +1,9 @@
// ignore_for_file: cascade_invocations
import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:flame_test/flame_test.dart'; import 'package:flame_test/flame_test.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:pinball/game/components/google_word/behaviors/behaviors.dart';
import 'package:pinball/game/game.dart'; import 'package:pinball/game/game.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
@ -8,7 +11,21 @@ import '../../../helpers/helpers.dart';
void main() { void main() {
TestWidgetsFlutterBinding.ensureInitialized(); TestWidgetsFlutterBinding.ensureInitialized();
final flameTester = FlameTester(EmptyPinballTestGame.new); final assets = [
Assets.images.googleWord.letter1.active.keyName,
Assets.images.googleWord.letter1.inactive.keyName,
Assets.images.googleWord.letter2.active.keyName,
Assets.images.googleWord.letter2.inactive.keyName,
Assets.images.googleWord.letter3.active.keyName,
Assets.images.googleWord.letter3.inactive.keyName,
Assets.images.googleWord.letter4.active.keyName,
Assets.images.googleWord.letter4.inactive.keyName,
Assets.images.googleWord.letter5.active.keyName,
Assets.images.googleWord.letter5.inactive.keyName,
Assets.images.googleWord.letter6.active.keyName,
Assets.images.googleWord.letter6.inactive.keyName,
];
final flameTester = FlameTester(() => EmptyPinballTestGame(assets: assets));
group('GoogleWord', () { group('GoogleWord', () {
flameTester.test( flameTester.test(
@ -22,5 +39,14 @@ void main() {
expect(letters.length, equals(word.length)); expect(letters.length, equals(word.length));
}, },
); );
flameTester.test('adds a GoogleWordBonusBehavior', (game) async {
final googleWord = GoogleWord(position: Vector2.zero());
await game.ensureAdd(googleWord);
expect(
googleWord.children.whereType<GoogleWordBonusBehavior>().single,
isNotNull,
);
});
}); });
} }

@ -45,12 +45,18 @@ void main() {
Assets.images.dash.bumper.main.inactive.keyName, Assets.images.dash.bumper.main.inactive.keyName,
Assets.images.flipper.left.keyName, Assets.images.flipper.left.keyName,
Assets.images.flipper.right.keyName, Assets.images.flipper.right.keyName,
Assets.images.googleWord.letter1.keyName, Assets.images.googleWord.letter1.active.keyName,
Assets.images.googleWord.letter2.keyName, Assets.images.googleWord.letter1.inactive.keyName,
Assets.images.googleWord.letter3.keyName, Assets.images.googleWord.letter2.active.keyName,
Assets.images.googleWord.letter4.keyName, Assets.images.googleWord.letter2.inactive.keyName,
Assets.images.googleWord.letter5.keyName, Assets.images.googleWord.letter3.active.keyName,
Assets.images.googleWord.letter6.keyName, Assets.images.googleWord.letter3.inactive.keyName,
Assets.images.googleWord.letter4.active.keyName,
Assets.images.googleWord.letter4.inactive.keyName,
Assets.images.googleWord.letter5.active.keyName,
Assets.images.googleWord.letter5.inactive.keyName,
Assets.images.googleWord.letter6.active.keyName,
Assets.images.googleWord.letter6.inactive.keyName,
Assets.images.kicker.left.lit.keyName, Assets.images.kicker.left.lit.keyName,
Assets.images.kicker.left.dimmed.keyName, Assets.images.kicker.left.dimmed.keyName,
Assets.images.kicker.right.lit.keyName, Assets.images.kicker.right.lit.keyName,

Loading…
Cancel
Save