From 524c743ae1b01e29ce5b3ae8b9230f88d38894d9 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 14:44:34 +0000 Subject: [PATCH] test: add tests for MKCoordinateSpan Add tests to cover value equality, constraints (negative deltas), platform serialization/deserialization, and toString representation of MKCoordinateSpan. Clean up redundant test group from mk_coordinate_region_test.dart. --- test/mk_coordinate_region_test.dart | 15 ----------- test/mk_coordinate_span_test.dart | 39 +++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 15 deletions(-) create mode 100644 test/mk_coordinate_span_test.dart diff --git a/test/mk_coordinate_region_test.dart b/test/mk_coordinate_region_test.dart index 1c8172f..d6bcc17 100644 --- a/test/mk_coordinate_region_test.dart +++ b/test/mk_coordinate_region_test.dart @@ -3,21 +3,6 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:mapkit_flutter/mapkit_flutter.dart'; void main() { - group('MKCoordinateSpan', () { - test('equality is value-based', () { - const a = MKCoordinateSpan(latitudeDelta: 1, longitudeDelta: 2); - const b = MKCoordinateSpan(latitudeDelta: 1, longitudeDelta: 2); - check(a).equals(b); - check(a.hashCode).equals(b.hashCode); - }); - - test('rejects negative deltas', () { - check( - () => MKCoordinateSpan(latitudeDelta: -1, longitudeDelta: 0), - ).throws(); - }); - }); - group('MKCoordinateRegion.containing', () { test('returns null for no coordinates', () { check(MKCoordinateRegion.containing(const [])).isNull(); diff --git a/test/mk_coordinate_span_test.dart b/test/mk_coordinate_span_test.dart new file mode 100644 index 0000000..66a1484 --- /dev/null +++ b/test/mk_coordinate_span_test.dart @@ -0,0 +1,39 @@ +import 'package:checks/checks.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:mapkit_flutter/mapkit_flutter.dart'; + +void main() { + group('MKCoordinateSpan', () { + test('equality is value-based', () { + const a = MKCoordinateSpan(latitudeDelta: 1, longitudeDelta: 2); + const b = MKCoordinateSpan(latitudeDelta: 1, longitudeDelta: 2); + check(a).equals(b); + check(a.hashCode).equals(b.hashCode); + }); + + test('rejects negative deltas', () { + check( + () => MKCoordinateSpan(latitudeDelta: -1, longitudeDelta: 0), + ).throws(); + check( + () => MKCoordinateSpan(latitudeDelta: 0, longitudeDelta: -1), + ).throws(); + }); + + test('round-trips through the platform type', () { + const original = MKCoordinateSpan( + latitudeDelta: 1.5, + longitudeDelta: 2.5, + ); + final platform = original.toPlatform(); + check(platform.latitudeDelta).equals(1.5); + check(platform.longitudeDelta).equals(2.5); + check(MKCoordinateSpan.fromPlatform(platform)).equals(original); + }); + + test('toString representation', () { + const span = MKCoordinateSpan(latitudeDelta: 1.2, longitudeDelta: 3.4); + check(span.toString()).equals('MKCoordinateSpan(1.2, 3.4)'); + }); + }); +}