Navaron Bracke

add MobileScannerState test

  1 +import 'package:flutter_test/flutter_test.dart';
  2 +import 'package:mobile_scanner/src/enums/mobile_scanner_state.dart';
  3 +
  4 +void main() {
  5 + group('$MobileScannerState tests', () {
  6 + test('can be created from raw value', () {
  7 + const values = {
  8 + 0: MobileScannerState.undetermined,
  9 + 1: MobileScannerState.authorized,
  10 + 2: MobileScannerState.denied,
  11 + };
  12 +
  13 + for (final MapEntry<int, MobileScannerState> entry in values.entries) {
  14 + final MobileScannerState result = MobileScannerState.fromRawValue(entry.key);
  15 +
  16 + expect(result, entry.value);
  17 + }
  18 + });
  19 +
  20 + test('invalid raw value throws argument error', () {
  21 + const int negative = -1;
  22 + const int outOfRange = 3;
  23 +
  24 + expect(() => MobileScannerState.fromRawValue(negative), throwsArgumentError);
  25 + expect(() => MobileScannerState.fromRawValue(outOfRange), throwsArgumentError);
  26 + });
  27 +
  28 + test('can be converted to raw value', () {
  29 + const values = <MobileScannerState, int>{
  30 + MobileScannerState.undetermined: 0,
  31 + MobileScannerState.authorized: 1,
  32 + MobileScannerState.denied: 2,
  33 + };
  34 +
  35 + for (final MapEntry<MobileScannerState, int> entry in values.entries) {
  36 + final int result = entry.key.rawValue;
  37 +
  38 + expect(result, entry.value);
  39 + }
  40 + });
  41 + });
  42 +}