summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-01-19 00:37:31 +0100
committerCarl Hetherington <cth@carlh.net>2025-01-22 14:34:25 +0100
commit44cd984db9877b2a1aac3321744f7d0415f2f2e9 (patch)
tree684fe336e2bfff84920a2c752155b5617d0d3b36 /test
parent16b3f6c6245acf9689349dbd2af7d4411f861767 (diff)
Sort cinemas and DKDM recipients correctly using the collator (#2950).
Diffstat (limited to 'test')
-rw-r--r--test/cinema_list_test.cc27
-rw-r--r--test/collator_test.cc4
-rw-r--r--test/config_test.cc20
-rw-r--r--test/kdm_cli_test.cc4
4 files changed, 37 insertions, 18 deletions
diff --git a/test/cinema_list_test.cc b/test/cinema_list_test.cc
index 58af7839a..15e832eba 100644
--- a/test/cinema_list_test.cc
+++ b/test/cinema_list_test.cc
@@ -227,16 +227,16 @@ BOOST_AUTO_TEST_CASE(cinemas_list_copy_from_xml_test)
BOOST_REQUIRE_EQUAL(cinemas.size(), 3U);
auto cinema_iter = cinemas.begin();
+ BOOST_CHECK_EQUAL(cinema_iter->second.name, "classy joint");
+ BOOST_CHECK_EQUAL(cinema_iter->second.notes, "Can't stand this place");
+ ++cinema_iter;
+
BOOST_CHECK_EQUAL(cinema_iter->second.name, "Great");
BOOST_CHECK_EQUAL(cinema_iter->second.emails.size(), 1U);
BOOST_CHECK_EQUAL(cinema_iter->second.emails[0], "julie@tinyscreen.com");
BOOST_CHECK(cinema_iter->second.utc_offset == dcp::UTCOffset(1, 0));
++cinema_iter;
- BOOST_CHECK_EQUAL(cinema_iter->second.name, "classy joint");
- BOOST_CHECK_EQUAL(cinema_iter->second.notes, "Can't stand this place");
- ++cinema_iter;
-
BOOST_CHECK_EQUAL(cinema_iter->second.name, "stinking dump");
BOOST_CHECK_EQUAL(cinema_iter->second.emails.size(), 2U);
BOOST_CHECK_EQUAL(cinema_iter->second.emails[0], "bob@odourscreen.com");
@@ -255,3 +255,22 @@ BOOST_AUTO_TEST_CASE(cinemas_list_copy_from_xml_test)
BOOST_CHECK_EQUAL(screen_iter->second.recipient()->subject_dn_qualifier(), "CVsuuv9eYsQZSl8U4fDpvOmzZhI=");
}
+
+BOOST_AUTO_TEST_CASE(cinemas_list_sort_test)
+{
+ auto const db = setup("cinemas_list_sort_test");
+
+ CinemaList cinemas(db);
+ cinemas.add_cinema({"Ŝpecial", { "foo@bar.com" }, "", dcp::UTCOffset()});
+ cinemas.add_cinema({"Ţest", { "foo@bar.com" }, "", dcp::UTCOffset()});
+ cinemas.add_cinema({"Name", { "foo@bar.com" }, "", dcp::UTCOffset()});
+ cinemas.add_cinema({"ÄBC", { "foo@bar.com" }, "", dcp::UTCOffset()});
+
+ auto sorted = cinemas.cinemas();
+ BOOST_REQUIRE_EQUAL(sorted.size(), 4U);
+ BOOST_CHECK_EQUAL(sorted[0].second.name, "ÄBC");
+ BOOST_CHECK_EQUAL(sorted[1].second.name, "Name");
+ BOOST_CHECK_EQUAL(sorted[2].second.name, "Ŝpecial");
+ BOOST_CHECK_EQUAL(sorted[3].second.name, "Ţest");
+}
+
diff --git a/test/collator_test.cc b/test/collator_test.cc
index 035de9919..792a11182 100644
--- a/test/collator_test.cc
+++ b/test/collator_test.cc
@@ -27,7 +27,7 @@
BOOST_AUTO_TEST_CASE(collator_compare_works_and_ignores_case)
{
- Collator collator("en");
+ Collator collator;
#if 0
// Print out available locales
@@ -51,7 +51,7 @@ BOOST_AUTO_TEST_CASE(collator_compare_works_and_ignores_case)
BOOST_AUTO_TEST_CASE(collator_search_works_and_ignores_case)
{
- Collator collator("en");
+ Collator collator;
BOOST_CHECK(collator.find("outh", "With filthy mouths, and bad attitudes"));
BOOST_CHECK(collator.find("with", "With filthy mouths, and bad attitudes"));
diff --git a/test/config_test.cc b/test/config_test.cc
index 8278f55a9..a588691c6 100644
--- a/test/config_test.cc
+++ b/test/config_test.cc
@@ -309,8 +309,8 @@ BOOST_AUTO_TEST_CASE(read_cinemas_xml_and_write_sqlite)
/* The detailed creation of sqlite3 from XML is tested in cinema_list_test.cc */
auto cinemas = test.cinemas();
BOOST_REQUIRE_EQUAL(cinemas.size(), 3U);
- BOOST_CHECK_EQUAL(cinemas[0].second.name, "Great");
- BOOST_CHECK_EQUAL(cinemas[1].second.name, "classy joint");
+ BOOST_CHECK_EQUAL(cinemas[0].second.name, "classy joint");
+ BOOST_CHECK_EQUAL(cinemas[1].second.name, "Great");
BOOST_CHECK_EQUAL(cinemas[2].second.name, "stinking dump");
/* Add another recipient to the sqlite */
@@ -326,10 +326,10 @@ BOOST_AUTO_TEST_CASE(read_cinemas_xml_and_write_sqlite)
auto cinemas = test.cinemas();
BOOST_REQUIRE_EQUAL(cinemas.size(), 4U);
- BOOST_CHECK_EQUAL(cinemas[0].second.name, "Great");
- BOOST_CHECK_EQUAL(cinemas[1].second.name, "The ol' 1-seater");
- BOOST_CHECK_EQUAL(cinemas[2].second.name, "classy joint");
- BOOST_CHECK_EQUAL(cinemas[3].second.name, "stinking dump");
+ BOOST_CHECK_EQUAL(cinemas[0].second.name, "classy joint");
+ BOOST_CHECK_EQUAL(cinemas[1].second.name, "Great");
+ BOOST_CHECK_EQUAL(cinemas[2].second.name, "stinking dump");
+ BOOST_CHECK_EQUAL(cinemas[3].second.name, "The ol' 1-seater");
}
}
@@ -445,8 +445,8 @@ BOOST_AUTO_TEST_CASE(load_config_from_zip_with_only_xml_current)
CinemaList cinema_list(cinemas_file);
auto cinemas = cinema_list.cinemas();
BOOST_REQUIRE_EQUAL(cinemas.size(), 3U);
- BOOST_CHECK_EQUAL(cinemas[0].second.name, "Great");
- BOOST_CHECK_EQUAL(cinemas[1].second.name, "classy joint");
+ BOOST_CHECK_EQUAL(cinemas[0].second.name, "classy joint");
+ BOOST_CHECK_EQUAL(cinemas[1].second.name, "Great");
BOOST_CHECK_EQUAL(cinemas[2].second.name, "stinking dump");
}
@@ -480,8 +480,8 @@ BOOST_AUTO_TEST_CASE(load_config_from_zip_with_only_xml_zip)
CinemaList cinema_list("build/test/hide/it/here/cinemas.sqlite3");
auto cinemas = cinema_list.cinemas();
BOOST_REQUIRE_EQUAL(cinemas.size(), 3U);
- BOOST_CHECK_EQUAL(cinemas[0].second.name, "Great");
- BOOST_CHECK_EQUAL(cinemas[1].second.name, "classy joint");
+ BOOST_CHECK_EQUAL(cinemas[0].second.name, "classy joint");
+ BOOST_CHECK_EQUAL(cinemas[1].second.name, "Great");
BOOST_CHECK_EQUAL(cinemas[2].second.name, "stinking dump");
}
diff --git a/test/kdm_cli_test.cc b/test/kdm_cli_test.cc
index f8c85cb5a..85fd61c62 100644
--- a/test/kdm_cli_test.cc
+++ b/test/kdm_cli_test.cc
@@ -260,8 +260,8 @@ BOOST_AUTO_TEST_CASE(kdm_cli_specify_cinemas_file)
BOOST_CHECK(!error);
BOOST_REQUIRE_EQUAL(output.size(), 3U);
- BOOST_CHECK_EQUAL(output[0], "Great (julie@tinyscreen.com)");
- BOOST_CHECK_EQUAL(output[1], "classy joint ()");
+ BOOST_CHECK_EQUAL(output[0], "classy joint ()");
+ BOOST_CHECK_EQUAL(output[1], "Great (julie@tinyscreen.com)");
BOOST_CHECK_EQUAL(output[2], "stinking dump (bob@odourscreen.com, alice@whiff.com)");
}