diff --git a/packages/pinball_components/lib/src/components/chrome_dino.dart b/packages/pinball_components/lib/src/components/chrome_dino.dart index af086e0e..2caa40c8 100644 --- a/packages/pinball_components/lib/src/components/chrome_dino.dart +++ b/packages/pinball_components/lib/src/components/chrome_dino.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); } } diff --git a/packages/pinball_components/test/src/components/chrome_dino_test.dart b/packages/pinball_components/test/src/components/chrome_dino_test.dart index 44e5d16d..8a0adb85 100644 --- a/packages/pinball_components/test/src/components/chrome_dino_test.dart +++ b/packages/pinball_components/test/src/components/chrome_dino_test.dart @@ -1,3 +1,5 @@ +// 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'; @@ -17,5 +19,20 @@ void main() { 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))); + }, + ); }); }