mirror of
https://github.com/FoggedLens/deflock-app.git
synced 2026-08-10 21:20:18 +02:00
73 lines
2.3 KiB
Dart
73 lines
2.3 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
import 'package:deflockapp/services/coordinate_validation.dart';
|
|
|
|
void main() {
|
|
group('isValidLatitude', () {
|
|
test('accepts in-range values', () {
|
|
expect(isValidLatitude(0), isTrue);
|
|
expect(isValidLatitude(37.7749), isTrue);
|
|
expect(isValidLatitude(90), isTrue);
|
|
expect(isValidLatitude(-90), isTrue);
|
|
});
|
|
|
|
test('rejects NaN and Infinite', () {
|
|
expect(isValidLatitude(double.nan), isFalse);
|
|
expect(isValidLatitude(double.infinity), isFalse);
|
|
expect(isValidLatitude(double.negativeInfinity), isFalse);
|
|
});
|
|
|
|
test('rejects out-of-range values', () {
|
|
expect(isValidLatitude(90.1), isFalse);
|
|
expect(isValidLatitude(-90.1), isFalse);
|
|
});
|
|
});
|
|
|
|
group('isValidLongitude', () {
|
|
test('accepts in-range values', () {
|
|
expect(isValidLongitude(0), isTrue);
|
|
expect(isValidLongitude(-122.4194), isTrue);
|
|
expect(isValidLongitude(180), isTrue);
|
|
expect(isValidLongitude(-180), isTrue);
|
|
});
|
|
|
|
test('rejects NaN and Infinite', () {
|
|
expect(isValidLongitude(double.nan), isFalse);
|
|
expect(isValidLongitude(double.infinity), isFalse);
|
|
expect(isValidLongitude(double.negativeInfinity), isFalse);
|
|
});
|
|
|
|
test('rejects out-of-range values', () {
|
|
expect(isValidLongitude(180.1), isFalse);
|
|
expect(isValidLongitude(-180.1), isFalse);
|
|
});
|
|
});
|
|
|
|
group('isValidZoom', () {
|
|
test('accepts in-range values (default bounds: 1.0 to kAbsoluteMaxZoom)', () {
|
|
expect(isValidZoom(1), isTrue);
|
|
expect(isValidZoom(15), isTrue);
|
|
expect(isValidZoom(23), isTrue);
|
|
});
|
|
|
|
test('rejects NaN and Infinite', () {
|
|
expect(isValidZoom(double.nan), isFalse);
|
|
expect(isValidZoom(double.infinity), isFalse);
|
|
expect(isValidZoom(double.negativeInfinity), isFalse);
|
|
});
|
|
|
|
test('rejects out-of-range values with default bounds', () {
|
|
expect(isValidZoom(0), isFalse);
|
|
expect(isValidZoom(0.5), isFalse);
|
|
expect(isValidZoom(24), isFalse);
|
|
});
|
|
|
|
test('respects custom min/max bounds', () {
|
|
expect(isValidZoom(0.5, min: 1.0, max: 20.0), isFalse);
|
|
expect(isValidZoom(1.0, min: 1.0, max: 20.0), isTrue);
|
|
expect(isValidZoom(20.0, min: 1.0, max: 20.0), isTrue);
|
|
expect(isValidZoom(20.1, min: 1.0, max: 20.0), isFalse);
|
|
});
|
|
});
|
|
}
|