import 'package:event_bus_plus/event_bus_plus.dart'; import 'package:given_when_then_unit_test/given_when_then_unit_test.dart'; import 'package:test/expect.dart'; import 'package:test/scaffolding.dart'; import 'models.dart'; void main() { late IEventBus bus; before(() { bus = EventBus(); }); test('Call once', () { expectLater( bus.last$, emitsInOrder([ const SomeEvent(), EmptyEvent(), const SomeAnotherEvent(), EmptyEvent(), ])); bus.fire(const SomeEvent()); bus.fire(const SomeAnotherEvent()); }); // test('Call twice', () { // const event = SomeEvent(); // expectLater( // bus.last$, // emitsInOrder([ // const SomeEvent(), // EmptyEvent(), // const SomeAnotherEvent(), // EmptyEvent(), // ])); // bus.fire(event); // bus.fire(event); // bus.fire(const SomeAnotherEvent()); // }); // test('Call three times', () { // const event = SomeEvent(); // expectLater( // bus.last$, // emitsInOrder([ // const SomeEvent(), // EmptyEvent(), // const SomeAnotherEvent(), // EmptyEvent(), // ])); // bus.fire(event); // bus.fire(event); // bus.fire(event); // bus.fire(const SomeAnotherEvent()); // }); }