diff --git a/packages/pinball_components/test/src/components/golden/score/100k.png b/packages/pinball_components/test/src/components/golden/score/100k.png new file mode 100644 index 00000000..53272940 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/100k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/10k.png b/packages/pinball_components/test/src/components/golden/score/10k.png new file mode 100644 index 00000000..2ca91ce3 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/10k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/120k.png b/packages/pinball_components/test/src/components/golden/score/120k.png new file mode 100644 index 00000000..727dc7e6 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/120k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/15k.png b/packages/pinball_components/test/src/components/golden/score/15k.png new file mode 100644 index 00000000..bd8d4d57 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/15k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/1m.png b/packages/pinball_components/test/src/components/golden/score/1m.png new file mode 100644 index 00000000..bb2f5631 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/1m.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/1m2.png b/packages/pinball_components/test/src/components/golden/score/1m2.png new file mode 100644 index 00000000..921d4d3b Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/1m2.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/200k.png b/packages/pinball_components/test/src/components/golden/score/200k.png new file mode 100644 index 00000000..c25d116b Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/200k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/20k.png b/packages/pinball_components/test/src/components/golden/score/20k.png new file mode 100644 index 00000000..2a4446c3 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/20k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/25k.png b/packages/pinball_components/test/src/components/golden/score/25k.png new file mode 100644 index 00000000..2ef7e7e6 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/25k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/2m.png b/packages/pinball_components/test/src/components/golden/score/2m.png new file mode 100644 index 00000000..2f3513d8 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/2m.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/30k.png b/packages/pinball_components/test/src/components/golden/score/30k.png new file mode 100644 index 00000000..0bf6fdcf Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/30k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/3m.png b/packages/pinball_components/test/src/components/golden/score/3m.png new file mode 100644 index 00000000..01b98411 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/3m.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/400k.png b/packages/pinball_components/test/src/components/golden/score/400k.png new file mode 100644 index 00000000..06518bec Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/400k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/40k.png b/packages/pinball_components/test/src/components/golden/score/40k.png new file mode 100644 index 00000000..2a25a0fd Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/40k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/4m.png b/packages/pinball_components/test/src/components/golden/score/4m.png new file mode 100644 index 00000000..9c9acae1 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/4m.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/50k.png b/packages/pinball_components/test/src/components/golden/score/50k.png new file mode 100644 index 00000000..0ecf0e06 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/50k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/5k.png b/packages/pinball_components/test/src/components/golden/score/5k.png new file mode 100644 index 00000000..8f2a7973 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/5k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/5m.png b/packages/pinball_components/test/src/components/golden/score/5m.png new file mode 100644 index 00000000..e3fe62ec Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/5m.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/600k.png b/packages/pinball_components/test/src/components/golden/score/600k.png new file mode 100644 index 00000000..2308618a Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/600k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/60k.png b/packages/pinball_components/test/src/components/golden/score/60k.png new file mode 100644 index 00000000..4b634310 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/60k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/6m.png b/packages/pinball_components/test/src/components/golden/score/6m.png new file mode 100644 index 00000000..46b584c2 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/6m.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/800k.png b/packages/pinball_components/test/src/components/golden/score/800k.png new file mode 100644 index 00000000..5b21f696 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/800k.png differ diff --git a/packages/pinball_components/test/src/components/golden/score/80k.png b/packages/pinball_components/test/src/components/golden/score/80k.png new file mode 100644 index 00000000..28c50d10 Binary files /dev/null and b/packages/pinball_components/test/src/components/golden/score/80k.png differ diff --git a/packages/pinball_components/test/src/components/score_component_test.dart b/packages/pinball_components/test/src/components/score_component_test.dart index 0e6aba95..68b634ae 100644 --- a/packages/pinball_components/test/src/components/score_component_test.dart +++ b/packages/pinball_components/test/src/components/score_component_test.dart @@ -41,7 +41,407 @@ void main() { group('ScoreComponent', () { group('renders correctly', () { flameTester.testGameWidget( - 'one million points', + '5000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_5k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/5k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '10000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_10k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/10k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '15000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_15k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/15k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '20000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_20k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/20k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '25000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_25k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/25k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '30000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_30k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/30k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '40000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_40k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/40k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '50000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_50k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/50k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '60000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_60k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/60k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '80000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_80k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/80k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '100000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_100k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/100k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '120000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_120k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/120k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '200000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_200k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/200k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '400000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_400k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/400k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '600000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_600k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/600k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '800000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_800k, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/800k.png'), + ); + }, + ); + + flameTester.testGameWidget( + '1000000 points', setUp: (game, tester) async { await game.images.loadAll(assets); await game.ensureAdd( @@ -64,6 +464,156 @@ void main() { ); }, ); + + flameTester.testGameWidget( + '1200000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_1m2, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/1m2.png'), + ); + }, + ); + + flameTester.testGameWidget( + '2000000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_2m, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/2m.png'), + ); + }, + ); + + flameTester.testGameWidget( + '3000000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_3m, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/3m.png'), + ); + }, + ); + + flameTester.testGameWidget( + '4000000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_4m, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/4m.png'), + ); + }, + ); + + flameTester.testGameWidget( + '5000000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_5m, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/5m.png'), + ); + }, + ); + + flameTester.testGameWidget( + '6000000 points', + setUp: (game, tester) async { + await game.images.loadAll(assets); + await game.ensureAdd( + ScoreComponent( + points: Points.points_6m, + position: Vector2.zero(), + ), + ); + + game.camera + ..followVector2(Vector2.zero()) + ..zoom = 8; + + await tester.pump(); + }, + verify: (game, tester) async { + await expectLater( + find.byGame(), + matchesGoldenFile('golden/score/6m.png'), + ); + }, + ); }); });