diff --git a/test/screens/metering/communication/bloc_communication_metering_test.dart b/test/screens/metering/communication/bloc_communication_metering_test.dart index 3272745..604de75 100644 --- a/test/screens/metering/communication/bloc_communication_metering_test.dart +++ b/test/screens/metering/communication/bloc_communication_metering_test.dart @@ -46,6 +46,7 @@ void main() { bloc.add(const MeteringInProgressEvent(2)); bloc.add(const MeasureEvent()); bloc.add(const MeteringEndedEvent(2)); + bloc.add(const MeteringEndedEvent(2)); }, expect: () => [ isA(), diff --git a/test/screens/metering/communication/event_communication_metering_test.dart b/test/screens/metering/communication/event_communication_metering_test.dart new file mode 100644 index 0000000..baec1bc --- /dev/null +++ b/test/screens/metering/communication/event_communication_metering_test.dart @@ -0,0 +1,44 @@ +// ignore_for_file: prefer_const_constructors + +import 'package:lightmeter/screens/metering/communication/event_communication_metering.dart'; +import 'package:test/test.dart'; + +void main() { + group( + '`MeteringInProgressEvent`', + () { + final a = MeteringInProgressEvent(1.0); + final b = MeteringInProgressEvent(1.0); + final c = MeteringInProgressEvent(2.0); + test('==', () { + expect(a == b && b == a, true); + expect(a != c && c != a, true); + expect(b != c && c != b, true); + }); + test('hashCode', () { + expect(a.hashCode == b.hashCode, true); + expect(a.hashCode != c.hashCode, true); + expect(b.hashCode != c.hashCode, true); + }); + }, + ); + + group( + '`MeteringEndedEvent`', + () { + final a = MeteringEndedEvent(1.0); + final b = MeteringEndedEvent(1.0); + final c = MeteringEndedEvent(2.0); + test('==', () { + expect(a == b && b == a, true); + expect(a != c && c != a, true); + expect(b != c && c != b, true); + }); + test('hashCode', () { + expect(a.hashCode == b.hashCode, true); + expect(a.hashCode != c.hashCode, true); + expect(b.hashCode != c.hashCode, true); + }); + }, + ); +} diff --git a/test/screens/metering/communication/state_communication_metering_test.dart b/test/screens/metering/communication/state_communication_metering_test.dart new file mode 100644 index 0000000..7076aab --- /dev/null +++ b/test/screens/metering/communication/state_communication_metering_test.dart @@ -0,0 +1,44 @@ +// ignore_for_file: prefer_const_constructors + +import 'package:lightmeter/screens/metering/communication/state_communication_metering.dart'; +import 'package:test/test.dart'; + +void main() { + group( + '`MeteringInProgressState`', + () { + final a = MeteringInProgressState(1.0); + final b = MeteringInProgressState(1.0); + final c = MeteringInProgressState(2.0); + test('==', () { + expect(a == b && b == a, true); + expect(a != c && c != a, true); + expect(b != c && c != b, true); + }); + test('hashCode', () { + expect(a.hashCode == b.hashCode, true); + expect(a.hashCode != c.hashCode, true); + expect(b.hashCode != c.hashCode, true); + }); + }, + ); + + group( + '`MeteringEndedState`', + () { + final a = MeteringEndedState(1.0); + final b = MeteringEndedState(1.0); + final c = MeteringEndedState(2.0); + test('==', () { + expect(a == b && b == a, true); + expect(a != c && c != a, true); + expect(b != c && c != b, true); + }); + test('hashCode', () { + expect(a.hashCode == b.hashCode, true); + expect(a.hashCode != c.hashCode, true); + expect(b.hashCode != c.hashCode, true); + }); + }, + ); +}