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 'bonus_word.dart';
export 'chrome_dino.dart';
export 'controlled_ball.dart';
export 'controlled_flipper.dart';
export 'flutter_forest.dart';

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

@ -2,6 +2,7 @@ export 'ball.dart';
export 'baseboard.dart';
export 'board_dimensions.dart';
export 'board_side.dart';
export 'chrome_dino.dart';
export 'dash_nest_bumper.dart';
export 'dino_walls.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