refactor: moved ChromeDino to pinball_components (#134)

pull/138/head
Alejandro Santiago 4 years ago committed by GitHub
parent b243c063a3
commit b67b08a18d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,6 +1,5 @@
export 'board.dart'; export 'board.dart';
export 'bonus_word.dart'; export 'bonus_word.dart';
export 'chrome_dino.dart';
export 'controlled_ball.dart'; export 'controlled_ball.dart';
export 'controlled_flipper.dart'; export 'controlled_flipper.dart';
export 'flutter_forest.dart'; export 'flutter_forest.dart';

@ -43,7 +43,7 @@ class ChromeDino extends BodyComponent with InitialPosition {
await add( await add(
TimerComponent( TimerComponent(
period: 1, period: 1,
onTick: joint.swivel, onTick: joint._swivel,
repeat: true, repeat: true,
), ),
); );
@ -150,7 +150,7 @@ class _ChromeDinoJoint extends RevoluteJoint {
_ChromeDinoJoint(_ChromeDinoAnchorRevoluteJointDef def) : super(def); _ChromeDinoJoint(_ChromeDinoAnchorRevoluteJointDef def) : super(def);
/// Sweeps the [ChromeDino] up and down repeatedly. /// Sweeps the [ChromeDino] up and down repeatedly.
void swivel() { void _swivel() {
setMotorSpeed(-motorSpeed); setMotorSpeed(-motorSpeed);
} }
} }

@ -2,6 +2,7 @@ export 'ball.dart';
export 'baseboard.dart'; export 'baseboard.dart';
export 'board_dimensions.dart'; export 'board_dimensions.dart';
export 'board_side.dart'; export 'board_side.dart';
export 'chrome_dino.dart';
export 'dash_nest_bumper.dart'; export 'dash_nest_bumper.dart';
export 'dino_walls.dart'; export 'dino_walls.dart';
export 'fire_effect.dart'; export 'fire_effect.dart';

@ -0,0 +1,38 @@
// ignore_for_file: cascade_invocations
import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:flame_test/flame_test.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:pinball_components/pinball_components.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
final flameTester = FlameTester(Forge2DGame.new);
group('ChromeDino', () {
flameTester.test(
'loads correctly',
(game) async {
final chromeDino = ChromeDino();
await game.ensureAdd(chromeDino);
expect(game.contains(chromeDino), isTrue);
},
);
flameTester.test(
'swivels',
(game) async {
// TODO(alestiago): Write golden tests to check the
// swivel animation.
final chromeDino = ChromeDino();
await game.ensureAdd(chromeDino);
final previousPosition = chromeDino.body.position.clone();
game.update(64);
expect(chromeDino.body.position, isNot(equals(previousPosition)));
},
);
});
}

@ -1,23 +0,0 @@
import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:flame_test/flame_test.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:pinball/game/game.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
final flameTester = FlameTester(Forge2DGame.new);
group('ChromeDino', () {
flameTester.test(
'loads correctly',
(game) async {
final chromeDino = ChromeDino();
await game.ready();
await game.ensureAdd(chromeDino);
expect(game.contains(chromeDino), isTrue);
},
);
});
}
Loading…
Cancel
Save