main function

void main()

Implementation

void main() {
  group('findMissingElement', () {
    test('finds a missing element in middle of range', () {
      final List<int> nums = <int>[3, 7, 1, 2, 8, 4, 5];
      expect(findMissingElement(nums), 6);
    });

    test('finds smallest missing element at beginning', () {
      final List<int> nums = <int>[2, 3, 4];
      expect(findMissingElement(nums), 1);
    });

    test('returns null if no elements missing', () {
      final List<int> nums = <int>[1, 2, 3, 4, 5];
      expect(findMissingElement(nums), null);
    });

    test('works with unsorted input', () {
      final List<int> nums = <int>[10, 12, 11, 14, 13, 16, 15];
      expect(findMissingElement(nums), 1);
    });

    test('returns 1 if only high numbers exist', () {
      final List<int> nums = <int>[5, 6, 7];
      expect(findMissingElement(nums), 1);
    });

    test('returns null for single element equal to 1', () {
      expect(findMissingElement(<int>[1]), null);
    });

    test('returns 1 for empty list', () {
      expect(findMissingElement(<int>[]), null);
    });

    test('ignores negative numbers and still returns 1 if missing', () {
      final List<int> nums = <int>[-2, -1, 0, 2];
      expect(findMissingElement(nums), 1);
    });
  });
}