From 77aa2e942653dead7d4d845e1cd68c22d904964f Mon Sep 17 00:00:00 2001 From: alestiago Date: Mon, 11 Apr 2022 11:45:43 +0100 Subject: [PATCH] feat: incldued activate and deactviate tests --- .../src/components/google_letter_test.dart | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 packages/pinball_components/test/src/components/google_letter_test.dart diff --git a/packages/pinball_components/test/src/components/google_letter_test.dart b/packages/pinball_components/test/src/components/google_letter_test.dart new file mode 100644 index 00000000..02401d42 --- /dev/null +++ b/packages/pinball_components/test/src/components/google_letter_test.dart @@ -0,0 +1,110 @@ +// ignore_for_file: cascade_invocations + +import 'package:flame/effects.dart'; +import 'package:flame_test/flame_test.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:pinball_components/pinball_components.dart'; + +import '../../helpers/helpers.dart'; + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + final flameTester = FlameTester(TestGame.new); + + group('Google Letter', () { + flameTester.test( + 'letter1 loads correctly', + (game) async { + final googleLetter = GoogleLetter.letter1(); + await game.ready(); + await game.ensureAdd(googleLetter); + + expect(game.contains(googleLetter), isTrue); + }, + ); + + flameTester.test( + 'letter2 loads correctly', + (game) async { + final googleLetter = GoogleLetter.letter2(); + await game.ready(); + await game.ensureAdd(googleLetter); + + expect(game.contains(googleLetter), isTrue); + }, + ); + + flameTester.test( + 'letter3 loads correctly', + (game) async { + final googleLetter = GoogleLetter.letter3(); + await game.ready(); + await game.ensureAdd(googleLetter); + + expect(game.contains(googleLetter), isTrue); + }, + ); + + flameTester.test( + 'letter4 loads correctly', + (game) async { + final googleLetter = GoogleLetter.letter4(); + await game.ready(); + await game.ensureAdd(googleLetter); + + expect(game.contains(googleLetter), isTrue); + }, + ); + + flameTester.test( + 'letter5 loads correctly', + (game) async { + final googleLetter = GoogleLetter.letter5(); + await game.ready(); + await game.ensureAdd(googleLetter); + + expect(game.contains(googleLetter), isTrue); + }, + ); + + group('activate', () { + flameTester.test('returns normally', (game) async { + final googleLetter = GoogleLetter.letter1(); + await game.ensureAdd(googleLetter); + await expectLater(googleLetter.activate, returnsNormally); + }); + + flameTester.test('adds an Effect', (game) async { + final googleLetter = GoogleLetter.letter1(); + await game.ensureAdd(googleLetter); + await googleLetter.activate(); + await game.ready(); + + expect( + googleLetter.descendants().whereType().length, + equals(1), + ); + }); + }); + + group('deactivate', () { + flameTester.test('returns normally', (game) async { + final googleLetter = GoogleLetter.letter1(); + await game.ensureAdd(googleLetter); + await expectLater(googleLetter.deactivate, returnsNormally); + }); + + flameTester.test('adds an Effect', (game) async { + final googleLetter = GoogleLetter.letter1(); + await game.ensureAdd(googleLetter); + await googleLetter.activate(); + await game.ready(); + + expect( + googleLetter.descendants().whereType().length, + equals(1), + ); + }); + }); + }); +}