diff --git a/packages/pinball_components/test/src/components/android_bumper/android_bumper_test.dart b/packages/pinball_components/test/src/components/android_bumper/android_bumper_test.dart index d5be2639..e2fed1d2 100644 --- a/packages/pinball_components/test/src/components/android_bumper/android_bumper_test.dart +++ b/packages/pinball_components/test/src/components/android_bumper/android_bumper_test.dart @@ -63,6 +63,30 @@ void main() { }); group('adds', () { + flameTester.test('an AndroidBumperBallContactBehavior', (game) async { + final androidBumper = AndroidBumper.a(); + await game.ensureAdd(androidBumper); + expect( + androidBumper.children + .whereType() + .single, + isNotNull, + ); + }); + + flameTester.test('an AndroidBumperBlinkingBehavior', (game) async { + final androidBumper = AndroidBumper.a(); + await game.ensureAdd(androidBumper); + expect( + androidBumper.children + .whereType() + .single, + isNotNull, + ); + }); + }); + + group("'a' adds", () { flameTester.test('new children', (game) async { final component = Component(); final androidBumper = AndroidBumper.a( @@ -72,19 +96,48 @@ void main() { expect(androidBumper.children, contains(component)); }); - flameTester.test('an AndroidBumperBallContactBehavior', (game) async { + flameTester.test('a BumpingBehavior', (game) async { final androidBumper = AndroidBumper.a(); await game.ensureAdd(androidBumper); expect( - androidBumper.children - .whereType() - .single, + androidBumper.children.whereType().single, isNotNull, ); }); + }); + + group("'b' adds", () { + flameTester.test('new children', (game) async { + final component = Component(); + final androidBumper = AndroidBumper.b( + children: [component], + ); + await game.ensureAdd(androidBumper); + expect(androidBumper.children, contains(component)); + }); flameTester.test('a BumpingBehavior', (game) async { - final androidBumper = AndroidBumper.a(); + final androidBumper = AndroidBumper.b(); + await game.ensureAdd(androidBumper); + expect( + androidBumper.children.whereType().single, + isNotNull, + ); + }); + }); + + group("'cow' adds", () { + flameTester.test('new children', (game) async { + final component = Component(); + final androidBumper = AndroidBumper.cow( + children: [component], + ); + await game.ensureAdd(androidBumper); + expect(androidBumper.children, contains(component)); + }); + + flameTester.test('a BumpingBehavior', (game) async { + final androidBumper = AndroidBumper.cow(); await game.ensureAdd(androidBumper); expect( androidBumper.children.whereType().single, diff --git a/packages/pinball_components/test/src/components/dash_nest_bumper/dash_nest_bumper_test.dart b/packages/pinball_components/test/src/components/dash_nest_bumper/dash_nest_bumper_test.dart index deed97ac..df3ee36f 100644 --- a/packages/pinball_components/test/src/components/dash_nest_bumper/dash_nest_bumper_test.dart +++ b/packages/pinball_components/test/src/components/dash_nest_bumper/dash_nest_bumper_test.dart @@ -64,8 +64,39 @@ void main() { verify(bloc.close).called(1); }); - group('adds', () { - flameTester.test('adds new children', (game) async { + flameTester.test('adds a DashNestBumperBallContactBehavior', (game) async { + final dashNestBumper = DashNestBumper.a(); + await game.ensureAdd(dashNestBumper); + expect( + dashNestBumper.children + .whereType() + .single, + isNotNull, + ); + }); + + group("'main' adds", () { + flameTester.test('new children', (game) async { + final component = Component(); + final dashNestBumper = DashNestBumper.main( + children: [component], + ); + await game.ensureAdd(dashNestBumper); + expect(dashNestBumper.children, contains(component)); + }); + + flameTester.test('a BumpingBehavior', (game) async { + final dashNestBumper = DashNestBumper.main(); + await game.ensureAdd(dashNestBumper); + expect( + dashNestBumper.children.whereType().single, + isNotNull, + ); + }); + }); + + group("'a' adds", () { + flameTester.test('new children', (game) async { final component = Component(); final dashNestBumper = DashNestBumper.a( children: [component], @@ -74,19 +105,28 @@ void main() { expect(dashNestBumper.children, contains(component)); }); - flameTester.test('a DashNestBumperBallContactBehavior', (game) async { + flameTester.test('a BumpingBehavior', (game) async { final dashNestBumper = DashNestBumper.a(); await game.ensureAdd(dashNestBumper); expect( - dashNestBumper.children - .whereType() - .single, + dashNestBumper.children.whereType().single, isNotNull, ); }); + }); + + group("'b' adds", () { + flameTester.test('new children', (game) async { + final component = Component(); + final dashNestBumper = DashNestBumper.b( + children: [component], + ); + await game.ensureAdd(dashNestBumper); + expect(dashNestBumper.children, contains(component)); + }); flameTester.test('a BumpingBehavior', (game) async { - final dashNestBumper = DashNestBumper.a(); + final dashNestBumper = DashNestBumper.b(); await game.ensureAdd(dashNestBumper); expect( dashNestBumper.children.whereType().single, diff --git a/packages/pinball_components/test/src/components/sparky_bumper/sparky_bumper_test.dart b/packages/pinball_components/test/src/components/sparky_bumper/sparky_bumper_test.dart index 922e37b7..709b3dc5 100644 --- a/packages/pinball_components/test/src/components/sparky_bumper/sparky_bumper_test.dart +++ b/packages/pinball_components/test/src/components/sparky_bumper/sparky_bumper_test.dart @@ -63,6 +63,30 @@ void main() { }); group('adds', () { + flameTester.test('a SparkyBumperBallContactBehavior', (game) async { + final sparkyBumper = SparkyBumper.a(); + await game.ensureAdd(sparkyBumper); + expect( + sparkyBumper.children + .whereType() + .single, + isNotNull, + ); + }); + + flameTester.test('a SparkyBumperBlinkingBehavior', (game) async { + final sparkyBumper = SparkyBumper.a(); + await game.ensureAdd(sparkyBumper); + expect( + sparkyBumper.children + .whereType() + .single, + isNotNull, + ); + }); + }); + + group("'a' adds", () { flameTester.test('new children', (game) async { final component = Component(); final sparkyBumper = SparkyBumper.a( @@ -72,25 +96,54 @@ void main() { expect(sparkyBumper.children, contains(component)); }); - flameTester.test('a SparkyBumperBallContactBehavior', (game) async { + flameTester.test('a BumpingBehavior', (game) async { final sparkyBumper = SparkyBumper.a(); await game.ensureAdd(sparkyBumper); expect( - sparkyBumper.children - .whereType() - .single, + sparkyBumper.children.whereType().single, isNotNull, ); }); + }); + + group("'b' adds", () { + flameTester.test('new children', (game) async { + final component = Component(); + final sparkyBumper = SparkyBumper.b( + children: [component], + ); + await game.ensureAdd(sparkyBumper); + expect(sparkyBumper.children, contains(component)); + }); flameTester.test('a BumpingBehavior', (game) async { - final sparkyBumper = SparkyBumper.a(); + final sparkyBumper = SparkyBumper.b(); await game.ensureAdd(sparkyBumper); expect( sparkyBumper.children.whereType().single, isNotNull, ); }); + + group("'c' adds", () { + flameTester.test('new children', (game) async { + final component = Component(); + final sparkyBumper = SparkyBumper.c( + children: [component], + ); + await game.ensureAdd(sparkyBumper); + expect(sparkyBumper.children, contains(component)); + }); + + flameTester.test('a BumpingBehavior', (game) async { + final sparkyBumper = SparkyBumper.c(); + await game.ensureAdd(sparkyBumper); + expect( + sparkyBumper.children.whereType().single, + isNotNull, + ); + }); + }); }); }); }