From b83a89a2e7333a6b210556d0d3e0278af3763922 Mon Sep 17 00:00:00 2001 From: Niklas Wimmer Date: Wed, 22 Jul 2026 09:44:50 -0400 Subject: [PATCH] tests/range: Validate the compare function Part-of: --- tests/test-range.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/test-range.c b/tests/test-range.c index f26da706..3445c183 100644 --- a/tests/test-range.c +++ b/tests/test-range.c @@ -256,6 +256,43 @@ range_calculate_overlap_date_only (void) /*********************************************************************************************************************/ +static void +range_compare (void) +{ + g_autoptr (GTimeZone) utc = NULL; + gint i; + + g_test_bug ("1615"); + + utc = g_time_zone_new_utc (); + for (i = 0; i < G_N_ELEMENTS (ranges); i++) + { + g_autoptr (GDateTime) second_start = NULL; + g_autoptr (GDateTime) second_end = NULL; + g_autoptr (GDateTime) first_start = NULL; + g_autoptr (GDateTime) first_end = NULL; + g_autoptr (GcalRange) range_a = NULL; + g_autoptr (GcalRange) range_b = NULL; + gint compare; + + first_start = g_date_time_new_from_iso8601 (ranges[i].first.start, utc); + first_end = g_date_time_new_from_iso8601 (ranges[i].first.end, utc); + second_start = g_date_time_new_from_iso8601 (ranges[i].second.start, utc); + second_end = g_date_time_new_from_iso8601 (ranges[i].second.end, utc); + + range_a = gcal_range_new (first_start, first_end, GCAL_RANGE_DEFAULT); + g_assert_nonnull (range_a); + + range_b = gcal_range_new (second_start, second_end, GCAL_RANGE_DEFAULT); + g_assert_nonnull (range_b); + + compare = gcal_range_compare (range_a, range_b); + g_assert_cmpint (compare, ==, ranges[i].expected_position); + } +} + +/*********************************************************************************************************************/ + gint main (gint argc, gchar *argv[]) @@ -266,6 +303,7 @@ main (gint argc, g_test_add_func ("/range/new", range_new); g_test_add_func ("/range/invalid-ranges", range_invalid); + g_test_add_func ("/range/compare", range_compare); g_test_add_func ("/range/calculate-overlap", range_calculate_overlap); g_test_add_func ("/range/calculate-overlap-date-only", range_calculate_overlap_date_only);