pull/86/head
Erick Zanardo 4 years ago
parent 85252d47df
commit 8ff8780bb1

@ -1,5 +1,6 @@
import 'package:flame/components.dart'; import 'package:flame/components.dart';
import 'package:pinball/game/game.dart'; import 'package:pinball/game/game.dart';
import 'package:pinball_components/pinball_components.dart';
/// {@template board} /// {@template board}
/// The main flat surface of the [PinballGame], where the [Flipper]s, /// The main flat surface of the [PinballGame], where the [Flipper]s,

@ -1,5 +1,4 @@
import 'package:flame/components.dart'; import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:mocktail/mocktail.dart'; import 'package:mocktail/mocktail.dart';
import 'package:pinball/flame/blueprint.dart'; import 'package:pinball/flame/blueprint.dart';
@ -9,7 +8,7 @@ import '../helpers/helpers.dart';
class MyBlueprint extends Blueprint { class MyBlueprint extends Blueprint {
@override @override
void build() { void build(_) {
add(Component()); add(Component());
addAll([Component(), Component()]); addAll([Component(), Component()]);
} }
@ -17,7 +16,7 @@ class MyBlueprint extends Blueprint {
class MyForge2dBlueprint extends Forge2DBlueprint { class MyForge2dBlueprint extends Forge2DBlueprint {
@override @override
void build() { void build(_) {
addContactCallback(MockContactCallback()); addContactCallback(MockContactCallback());
addAllContactCallback([MockContactCallback(), MockContactCallback()]); addAllContactCallback([MockContactCallback(), MockContactCallback()]);
} }
@ -26,7 +25,7 @@ class MyForge2dBlueprint extends Forge2DBlueprint {
void main() { void main() {
group('Blueprint', () { group('Blueprint', () {
test('components can be added to it', () { test('components can be added to it', () {
final blueprint = MyBlueprint()..build(); final blueprint = MyBlueprint()..build(MockPinballGame());
expect(blueprint.components.length, equals(3)); expect(blueprint.components.length, equals(3));
}); });
@ -59,7 +58,7 @@ void main() {
}); });
test('callbacks can be added to it', () { test('callbacks can be added to it', () {
final blueprint = MyForge2dBlueprint()..build(); final blueprint = MyForge2dBlueprint()..build(MockPinballGame());
expect(blueprint.callbacks.length, equals(3)); expect(blueprint.callbacks.length, equals(3));
}); });
@ -92,12 +91,5 @@ void main() {
); );
}, },
); );
test('throws assertion error when used on a non Forge2dGame', () {
expect(
() => MyForge2dBlueprint().attach(FlameGame()),
throwsAssertionError,
);
});
}); });
} }

@ -1,3 +1,4 @@
import 'package:flame/components.dart';
import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:mocktail/mocktail.dart'; import 'package:mocktail/mocktail.dart';
@ -29,6 +30,7 @@ void main() {
late PinballGame game; late PinballGame game;
late GameBloc bloc; late GameBloc bloc;
late Ball ball; late Ball ball;
late ComponentSet componentSet;
late BallController ballController; late BallController ballController;
late FakeScorePoints fakeScorePoints; late FakeScorePoints fakeScorePoints;
@ -36,6 +38,7 @@ void main() {
game = MockPinballGame(); game = MockPinballGame();
bloc = MockGameBloc(); bloc = MockGameBloc();
ball = MockBall(); ball = MockBall();
componentSet = MockComponentSet();
ballController = MockBallController(); ballController = MockBallController();
fakeScorePoints = FakeScorePoints(); fakeScorePoints = FakeScorePoints();
}); });
@ -48,8 +51,10 @@ void main() {
test( test(
'emits Scored event with points', 'emits Scored event with points',
() { () {
when(() => ball.controller).thenReturn(ballController); when(() => componentSet.whereType<BallController>())
when<Forge2DGame>(() => ball.gameRef).thenReturn(game); .thenReturn([ballController]);
when(() => ball.children).thenReturn(componentSet);
when<Forge2DGame>(() => ballController.gameRef).thenReturn(game);
when<GameBloc>(game.read).thenReturn(bloc); when<GameBloc>(game.read).thenReturn(bloc);
BallScorePointsCallback().begin( BallScorePointsCallback().begin(

@ -1,5 +1,6 @@
// ignore_for_file: cascade_invocations // ignore_for_file: cascade_invocations
import 'package:flame/components.dart';
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';
@ -20,7 +21,11 @@ void main() {
final wall = MockBottomWall(); final wall = MockBottomWall();
final ballController = MockBallController(); final ballController = MockBallController();
final ball = MockBall(); final ball = MockBall();
when(() => ball.controller).thenReturn(ballController); final componentSet = MockComponentSet();
when(() => componentSet.whereType<BallController>())
.thenReturn([ballController]);
when(() => ball.children).thenReturn(componentSet);
BottomWallBallContactCallback() BottomWallBallContactCallback()
// Remove once https://github.com/flame-engine/flame/pull/1415 // Remove once https://github.com/flame-engine/flame/pull/1415

@ -5,6 +5,7 @@ import 'package:flame_test/flame_test.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:mocktail/mocktail.dart'; import 'package:mocktail/mocktail.dart';
import 'package:pinball/game/game.dart'; import 'package:pinball/game/game.dart';
import 'package:pinball_components/pinball_components.dart';
import '../helpers/helpers.dart'; import '../helpers/helpers.dart';

@ -1,3 +1,4 @@
import 'package:flame/components.dart';
import 'package:flame/input.dart'; import 'package:flame/input.dart';
import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
@ -62,3 +63,5 @@ class MockFixture extends Mock implements Fixture {}
class MockSpaceshipEntrance extends Mock implements SpaceshipEntrance {} class MockSpaceshipEntrance extends Mock implements SpaceshipEntrance {}
class MockSpaceshipHole extends Mock implements SpaceshipHole {} class MockSpaceshipHole extends Mock implements SpaceshipHole {}
class MockComponentSet extends Mock implements ComponentSet {}

Loading…
Cancel
Save