diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c
index 90bef21..f06e8b7 100644
--- a/tests/gsm0808/gsm0808_test.c
+++ b/tests/gsm0808/gsm0808_test.c
@@ -1937,6 +1937,275 @@
 	    (GSM0808_SC_CFG_DEFAULT_AMR_7_95 | GSM0808_SC_CFG_DEFAULT_AMR_12_2);
 }
 
+struct test_cell_id_matching_data {
+	struct gsm0808_cell_id id;
+	struct gsm0808_cell_id match_id;
+	bool expect_match;
+	bool expect_exact_match;
+};
+
+#define lac_23 { .id_discr = CELL_IDENT_LAC, .id.lac = 23, }
+#define lac_42 { .id_discr = CELL_IDENT_LAC, .id.lac = 42, }
+#define ci_5 { .id_discr = CELL_IDENT_CI, .id.ci = 5, }
+#define ci_6 { .id_discr = CELL_IDENT_CI, .id.ci = 6, }
+#define lac_ci_23_5 { \
+		.id_discr = CELL_IDENT_LAC_AND_CI, \
+		.id.lac_and_ci = { .lac = 23, .ci = 5, }, \
+	}
+#define lac_ci_42_6 { \
+		.id_discr = CELL_IDENT_LAC_AND_CI, \
+		.id.lac_and_ci = { .lac = 42, .ci = 6, }, \
+	}
+#define lai_23_042_23 { \
+		.id_discr = CELL_IDENT_LAI_AND_LAC, \
+		.id.lai_and_lac = { .plmn = { .mcc = 23, .mnc = 42, .mnc_3_digits = true }, .lac = 23, }, \
+	}
+#define lai_23_042_42 { \
+		.id_discr = CELL_IDENT_LAI_AND_LAC, \
+		.id.lai_and_lac = { .plmn = { .mcc = 23, .mnc = 42, .mnc_3_digits = true }, .lac = 42, }, \
+	}
+#define lai_23_99_23 { \
+		.id_discr = CELL_IDENT_LAI_AND_LAC, \
+		.id.lai_and_lac = { .plmn = { .mcc = 23, .mnc = 99, .mnc_3_digits = false }, .lac = 23, }, \
+	}
+#define lai_23_42_23 { \
+		.id_discr = CELL_IDENT_LAI_AND_LAC, \
+		.id.lai_and_lac = { .plmn = { .mcc = 23, .mnc = 42, .mnc_3_digits = false }, .lac = 23, }, \
+	}
+#define cgi_23_042_23_5 { \
+		.id_discr = CELL_IDENT_WHOLE_GLOBAL, \
+		.id.global = { \
+			.lai = { .plmn = { .mcc = 23, .mnc = 42, .mnc_3_digits = true }, .lac = 23, }, \
+			.cell_identity = 5, \
+		}, \
+	}
+#define cgi_23_042_42_6 { \
+		.id_discr = CELL_IDENT_WHOLE_GLOBAL, \
+		.id.global = { \
+			.lai = { .plmn = { .mcc = 23, .mnc = 42, .mnc_3_digits = true }, .lac = 42, }, \
+			.cell_identity = 6, \
+		}, \
+	}
+#define cgi_23_99_23_5 { \
+		.id_discr = CELL_IDENT_WHOLE_GLOBAL, \
+		.id.global = { \
+			.lai = { .plmn = { .mcc = 23, .mnc = 99, .mnc_3_digits = false }, .lac = 23, }, \
+			.cell_identity = 5, \
+		}, \
+	}
+
+
+static const struct test_cell_id_matching_data test_cell_id_matching_tests[] = {
+	{ .id = lac_23, .match_id = lac_23, .expect_match = true, .expect_exact_match = true },
+	{ .id = lac_23, .match_id = lac_42, .expect_match = false, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = ci_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = ci_6, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = lac_ci_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = lac_ci_42_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = lai_23_042_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = lai_23_042_42, .expect_match = false, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = lai_23_99_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = lai_23_42_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = cgi_23_042_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = cgi_23_042_42_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = lac_23, .match_id = cgi_23_99_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = lac_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = lac_42, .expect_match = true, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = ci_5, .expect_match = true, .expect_exact_match = true },
+	{ .id = ci_5, .match_id = ci_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = lac_ci_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = lac_ci_42_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = lai_23_042_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = lai_23_042_42, .expect_match = true, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = lai_23_99_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = lai_23_42_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = cgi_23_042_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = cgi_23_042_42_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = ci_5, .match_id = cgi_23_99_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = lac_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = lac_42, .expect_match = false, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = ci_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = ci_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = lac_ci_23_5, .expect_match = true, .expect_exact_match = true },
+	{ .id = lac_ci_23_5, .match_id = lac_ci_42_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = lai_23_042_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = lai_23_042_42, .expect_match = false, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = lai_23_99_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = lai_23_42_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = cgi_23_042_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = cgi_23_042_42_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = lac_ci_23_5, .match_id = cgi_23_99_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = lac_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = lac_42, .expect_match = false, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = ci_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = ci_6, .expect_match = true, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = lac_ci_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = lac_ci_42_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = lai_23_042_23, .expect_match = true, .expect_exact_match = true },
+	{ .id = lai_23_042_23, .match_id = lai_23_042_42, .expect_match = false, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = lai_23_99_23, .expect_match = false, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = lai_23_42_23, .expect_match = false, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = cgi_23_042_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = cgi_23_042_42_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = lai_23_042_23, .match_id = cgi_23_99_23_5, .expect_match = false, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = lac_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = lac_42, .expect_match = false, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = ci_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = ci_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = lac_ci_23_5, .expect_match = true, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = lac_ci_42_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = lai_23_042_23, .expect_match = true, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = lai_23_042_42, .expect_match = false, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = lai_23_99_23, .expect_match = false, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = lai_23_42_23, .expect_match = false, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = cgi_23_042_23_5, .expect_match = true, .expect_exact_match = true },
+	{ .id = cgi_23_042_23_5, .match_id = cgi_23_042_42_6, .expect_match = false, .expect_exact_match = false },
+	{ .id = cgi_23_042_23_5, .match_id = cgi_23_99_23_5, .expect_match = false, .expect_exact_match = false },
+};
+
+static void test_cell_id_matching()
+{
+	int i;
+	bool ok = true;
+	printf("\n%s\n", __func__);
+
+	for (i = 0; i < ARRAY_SIZE(test_cell_id_matching_tests); i++) {
+		const struct test_cell_id_matching_data *d = &test_cell_id_matching_tests[i];
+		int exact_match;
+
+		for (exact_match = 0; exact_match < 2; exact_match++) {
+			bool result;
+			bool expect_result = exact_match ? d->expect_exact_match : d->expect_match;
+
+			result = gsm0808_cell_ids_match(&d->id, &d->match_id, (bool)exact_match);
+
+			printf("[%d] %s %s %s%s\n",
+			       i,
+			       gsm0808_cell_id_name(&d->id),
+			       gsm0808_cell_id_name2(&d->match_id),
+			       result ? "MATCH" : "don't match",
+			       exact_match ? " exactly" : "");
+			if (result != expect_result) {
+				printf("  ERROR: expected %s\n", d->expect_match ? "MATCH" : "no match");
+				ok = false;
+			}
+		}
+	}
+
+	OSMO_ASSERT(ok);
+}
+
+static bool test_cell_id_list_matching_discrs(bool test_match,
+					      enum CELL_IDENT id_discr,
+					      enum CELL_IDENT list_discr)
+{
+	int i, j;
+	const struct gsm0808_cell_id *id = NULL;
+	struct gsm0808_cell_id_list2 list = {};
+	int match_idx = -1;
+	int result;
+
+	for (i = 0; i < ARRAY_SIZE(test_cell_id_matching_tests); i++) {
+		const struct test_cell_id_matching_data *d = &test_cell_id_matching_tests[i];
+		if (id_discr != d->id.id_discr)
+			continue;
+		id = &d->id;
+		break;
+	}
+
+	if (!id) {
+		printf("Did not find any entry for %s\n", gsm0808_cell_id_discr_name(id_discr));
+		return true;
+	}
+
+	/* Collect those entries with exactly this id on the left, of type list_discr on the right.
+	 * Collect the mismatches first, for more interesting match indexes in the results. */
+	for (j = 0; j < 2; j++) {
+		bool collect_matches = (bool)j;
+
+		/* If we want to have a mismatching list, don't add any entries that match. */
+		if (!test_match && collect_matches)
+			continue;
+
+		for (i = 0; i < ARRAY_SIZE(test_cell_id_matching_tests); i++) {
+			const struct test_cell_id_matching_data *d = &test_cell_id_matching_tests[i];
+			struct gsm0808_cell_id_list2 add;
+
+			/* Ignore those with a different d->id */
+			if (!gsm0808_cell_ids_match(&d->id, id, true))
+				continue;
+
+			/* Ignore those with a different d->match_id discr */
+			if (d->match_id.id_discr != list_discr)
+				continue;
+
+			if (collect_matches != d->expect_match)
+				continue;
+
+			if (match_idx < 0 && d->expect_match) {
+				match_idx = list.id_list_len;
+			}
+
+			gsm0808_cell_id_to_list(&add, &d->match_id);
+			gsm0808_cell_id_list_add(&list, &add);
+		}
+	}
+
+	if (!list.id_list_len) {
+		printf("%s vs. %s: No match_id entries to test %s\n",
+		       gsm0808_cell_id_name(id),
+		       gsm0808_cell_id_discr_name(list_discr),
+		       test_match ? "MATCH" : "mismatch");
+		return true;
+	}
+
+	result = gsm0808_cell_id_matches_list(id, &list, 0, false);
+
+	printf("%s and %s: ",
+	       gsm0808_cell_id_name(id),
+	       gsm0808_cell_id_list_name(&list));
+	if (result >= 0)
+		printf("MATCH at [%d]\n", result);
+	else
+		printf("mismatch\n");
+
+	if (test_match
+	    && (result < 0 || result != match_idx)) {
+		printf("  ERROR: expected MATCH at %d\n", match_idx);
+		return false;
+	}
+
+	if (!test_match && result >= 0) {
+		printf("  ERROR: expected mismatch\n");
+		return false;
+	}
+
+	return true;
+}
+
+static void test_cell_id_list_matching(bool test_match)
+{
+	int i, j;
+	bool ok = true;
+
+	const enum CELL_IDENT discrs[] = {
+		CELL_IDENT_LAC, CELL_IDENT_CI, CELL_IDENT_LAC_AND_CI, CELL_IDENT_LAI_AND_LAC,
+		CELL_IDENT_WHOLE_GLOBAL,
+	};
+
+	printf("\n%s(%s)\n", __func__, test_match ? "test match" : "test mismatch");
+
+	/* Autogenerate Cell ID lists from above dataset, which should match / not match. */
+	for (i = 0; i < ARRAY_SIZE(discrs); i++) {
+		for (j = 0; j < ARRAY_SIZE(discrs); j++)
+			if (!test_cell_id_list_matching_discrs(test_match,
+							       discrs[i], discrs[j]))
+				ok = false;
+	}
+
+	OSMO_ASSERT(ok);
+}
+
 int main(int argc, char **argv)
 {
 	void *ctx = talloc_named_const(NULL, 0, "gsm0808 test");
@@ -2002,6 +2271,10 @@
 	test_gsm0808_sc_cfg_from_gsm48_mr_cfg();
 	test_gsm48_mr_cfg_from_gsm0808_sc_cfg();
 
+	test_cell_id_matching();
+	test_cell_id_list_matching(true);
+	test_cell_id_list_matching(false);
+
 	printf("Done\n");
 	return EXIT_SUCCESS;
 }
diff --git a/tests/gsm0808/gsm0808_test.ok b/tests/gsm0808/gsm0808_test.ok
index 8e6d262..aae8959 100644
--- a/tests/gsm0808/gsm0808_test.ok
+++ b/tests/gsm0808/gsm0808_test.ok
@@ -439,4 +439,190 @@
  m10_2= 0
  m12_2= 1
 
+
+test_cell_id_matching
+[0] LAC:23 LAC:23 MATCH
+[0] LAC:23 LAC:23 MATCH exactly
+[1] LAC:23 LAC:42 don't match
+[1] LAC:23 LAC:42 don't match exactly
+[2] LAC:23 CI:5 MATCH
+[2] LAC:23 CI:5 don't match exactly
+[3] LAC:23 CI:6 MATCH
+[3] LAC:23 CI:6 don't match exactly
+[4] LAC:23 LAC-CI:23-5 MATCH
+[4] LAC:23 LAC-CI:23-5 don't match exactly
+[5] LAC:23 LAC-CI:42-6 don't match
+[5] LAC:23 LAC-CI:42-6 don't match exactly
+[6] LAC:23 LAI:023-042-23 MATCH
+[6] LAC:23 LAI:023-042-23 don't match exactly
+[7] LAC:23 LAI:023-042-42 don't match
+[7] LAC:23 LAI:023-042-42 don't match exactly
+[8] LAC:23 LAI:023-99-23 MATCH
+[8] LAC:23 LAI:023-99-23 don't match exactly
+[9] LAC:23 LAI:023-42-23 MATCH
+[9] LAC:23 LAI:023-42-23 don't match exactly
+[10] LAC:23 CGI:023-042-23-5 MATCH
+[10] LAC:23 CGI:023-042-23-5 don't match exactly
+[11] LAC:23 CGI:023-042-42-6 don't match
+[11] LAC:23 CGI:023-042-42-6 don't match exactly
+[12] LAC:23 CGI:023-99-23-5 MATCH
+[12] LAC:23 CGI:023-99-23-5 don't match exactly
+[13] CI:5 LAC:23 MATCH
+[13] CI:5 LAC:23 don't match exactly
+[14] CI:5 LAC:42 MATCH
+[14] CI:5 LAC:42 don't match exactly
+[15] CI:5 CI:5 MATCH
+[15] CI:5 CI:5 MATCH exactly
+[16] CI:5 CI:6 don't match
+[16] CI:5 CI:6 don't match exactly
+[17] CI:5 LAC-CI:23-5 MATCH
+[17] CI:5 LAC-CI:23-5 don't match exactly
+[18] CI:5 LAC-CI:42-6 don't match
+[18] CI:5 LAC-CI:42-6 don't match exactly
+[19] CI:5 LAI:023-042-23 MATCH
+[19] CI:5 LAI:023-042-23 don't match exactly
+[20] CI:5 LAI:023-042-42 MATCH
+[20] CI:5 LAI:023-042-42 don't match exactly
+[21] CI:5 LAI:023-99-23 MATCH
+[21] CI:5 LAI:023-99-23 don't match exactly
+[22] CI:5 LAI:023-42-23 MATCH
+[22] CI:5 LAI:023-42-23 don't match exactly
+[23] CI:5 CGI:023-042-23-5 MATCH
+[23] CI:5 CGI:023-042-23-5 don't match exactly
+[24] CI:5 CGI:023-042-42-6 don't match
+[24] CI:5 CGI:023-042-42-6 don't match exactly
+[25] CI:5 CGI:023-99-23-5 MATCH
+[25] CI:5 CGI:023-99-23-5 don't match exactly
+[26] LAC-CI:23-5 LAC:23 MATCH
+[26] LAC-CI:23-5 LAC:23 don't match exactly
+[27] LAC-CI:23-5 LAC:42 don't match
+[27] LAC-CI:23-5 LAC:42 don't match exactly
+[28] LAC-CI:23-5 CI:5 MATCH
+[28] LAC-CI:23-5 CI:5 don't match exactly
+[29] LAC-CI:23-5 CI:6 don't match
+[29] LAC-CI:23-5 CI:6 don't match exactly
+[30] LAC-CI:23-5 LAC-CI:23-5 MATCH
+[30] LAC-CI:23-5 LAC-CI:23-5 MATCH exactly
+[31] LAC-CI:23-5 LAC-CI:42-6 don't match
+[31] LAC-CI:23-5 LAC-CI:42-6 don't match exactly
+[32] LAC-CI:23-5 LAI:023-042-23 MATCH
+[32] LAC-CI:23-5 LAI:023-042-23 don't match exactly
+[33] LAC-CI:23-5 LAI:023-042-42 don't match
+[33] LAC-CI:23-5 LAI:023-042-42 don't match exactly
+[34] LAC-CI:23-5 LAI:023-99-23 MATCH
+[34] LAC-CI:23-5 LAI:023-99-23 don't match exactly
+[35] LAC-CI:23-5 LAI:023-42-23 MATCH
+[35] LAC-CI:23-5 LAI:023-42-23 don't match exactly
+[36] LAC-CI:23-5 CGI:023-042-23-5 MATCH
+[36] LAC-CI:23-5 CGI:023-042-23-5 don't match exactly
+[37] LAC-CI:23-5 CGI:023-042-42-6 don't match
+[37] LAC-CI:23-5 CGI:023-042-42-6 don't match exactly
+[38] LAC-CI:23-5 CGI:023-99-23-5 MATCH
+[38] LAC-CI:23-5 CGI:023-99-23-5 don't match exactly
+[39] LAI:023-042-23 LAC:23 MATCH
+[39] LAI:023-042-23 LAC:23 don't match exactly
+[40] LAI:023-042-23 LAC:42 don't match
+[40] LAI:023-042-23 LAC:42 don't match exactly
+[41] LAI:023-042-23 CI:5 MATCH
+[41] LAI:023-042-23 CI:5 don't match exactly
+[42] LAI:023-042-23 CI:6 MATCH
+[42] LAI:023-042-23 CI:6 don't match exactly
+[43] LAI:023-042-23 LAC-CI:23-5 MATCH
+[43] LAI:023-042-23 LAC-CI:23-5 don't match exactly
+[44] LAI:023-042-23 LAC-CI:42-6 don't match
+[44] LAI:023-042-23 LAC-CI:42-6 don't match exactly
+[45] LAI:023-042-23 LAI:023-042-23 MATCH
+[45] LAI:023-042-23 LAI:023-042-23 MATCH exactly
+[46] LAI:023-042-23 LAI:023-042-42 don't match
+[46] LAI:023-042-23 LAI:023-042-42 don't match exactly
+[47] LAI:023-042-23 LAI:023-99-23 don't match
+[47] LAI:023-042-23 LAI:023-99-23 don't match exactly
+[48] LAI:023-042-23 LAI:023-42-23 don't match
+[48] LAI:023-042-23 LAI:023-42-23 don't match exactly
+[49] LAI:023-042-23 CGI:023-042-23-5 MATCH
+[49] LAI:023-042-23 CGI:023-042-23-5 don't match exactly
+[50] LAI:023-042-23 CGI:023-042-42-6 don't match
+[50] LAI:023-042-23 CGI:023-042-42-6 don't match exactly
+[51] LAI:023-042-23 CGI:023-99-23-5 don't match
+[51] LAI:023-042-23 CGI:023-99-23-5 don't match exactly
+[52] CGI:023-042-23-5 LAC:23 MATCH
+[52] CGI:023-042-23-5 LAC:23 don't match exactly
+[53] CGI:023-042-23-5 LAC:42 don't match
+[53] CGI:023-042-23-5 LAC:42 don't match exactly
+[54] CGI:023-042-23-5 CI:5 MATCH
+[54] CGI:023-042-23-5 CI:5 don't match exactly
+[55] CGI:023-042-23-5 CI:6 don't match
+[55] CGI:023-042-23-5 CI:6 don't match exactly
+[56] CGI:023-042-23-5 LAC-CI:23-5 MATCH
+[56] CGI:023-042-23-5 LAC-CI:23-5 don't match exactly
+[57] CGI:023-042-23-5 LAC-CI:42-6 don't match
+[57] CGI:023-042-23-5 LAC-CI:42-6 don't match exactly
+[58] CGI:023-042-23-5 LAI:023-042-23 MATCH
+[58] CGI:023-042-23-5 LAI:023-042-23 don't match exactly
+[59] CGI:023-042-23-5 LAI:023-042-42 don't match
+[59] CGI:023-042-23-5 LAI:023-042-42 don't match exactly
+[60] CGI:023-042-23-5 LAI:023-99-23 don't match
+[60] CGI:023-042-23-5 LAI:023-99-23 don't match exactly
+[61] CGI:023-042-23-5 LAI:023-42-23 don't match
+[61] CGI:023-042-23-5 LAI:023-42-23 don't match exactly
+[62] CGI:023-042-23-5 CGI:023-042-23-5 MATCH
+[62] CGI:023-042-23-5 CGI:023-042-23-5 MATCH exactly
+[63] CGI:023-042-23-5 CGI:023-042-42-6 don't match
+[63] CGI:023-042-23-5 CGI:023-042-42-6 don't match exactly
+[64] CGI:023-042-23-5 CGI:023-99-23-5 don't match
+[64] CGI:023-042-23-5 CGI:023-99-23-5 don't match exactly
+
+test_cell_id_list_matching(test match)
+LAC:23 and LAC[2]:{42, 23}: MATCH at [1]
+LAC:23 and CI[2]:{5, 6}: MATCH at [0]
+LAC:23 and LAC-CI[2]:{42-6, 23-5}: MATCH at [1]
+LAC:23 and LAI[4]:{023-042-42, 023-042-23, 023-99-23, 023-42-23}: MATCH at [1]
+LAC:23 and CGI[3]:{023-042-42-6, 023-042-23-5, 023-99-23-5}: MATCH at [1]
+CI:5 and LAC[2]:{23, 42}: MATCH at [0]
+CI:5 and CI[2]:{6, 5}: MATCH at [1]
+CI:5 and LAC-CI[2]:{42-6, 23-5}: MATCH at [1]
+CI:5 and LAI[4]:{023-042-23, 023-042-42, 023-99-23, 023-42-23}: MATCH at [0]
+CI:5 and CGI[3]:{023-042-42-6, 023-042-23-5, 023-99-23-5}: MATCH at [1]
+LAC-CI:23-5 and LAC[2]:{42, 23}: MATCH at [1]
+LAC-CI:23-5 and CI[2]:{6, 5}: MATCH at [1]
+LAC-CI:23-5 and LAC-CI[2]:{42-6, 23-5}: MATCH at [1]
+LAC-CI:23-5 and LAI[4]:{023-042-42, 023-042-23, 023-99-23, 023-42-23}: MATCH at [1]
+LAC-CI:23-5 and CGI[3]:{023-042-42-6, 023-042-23-5, 023-99-23-5}: MATCH at [1]
+LAI:023-042-23 and LAC[2]:{42, 23}: MATCH at [1]
+LAI:023-042-23 and CI[2]:{5, 6}: MATCH at [0]
+LAI:023-042-23 and LAC-CI[2]:{42-6, 23-5}: MATCH at [1]
+LAI:023-042-23 and LAI[4]:{023-042-42, 023-99-23, 023-42-23, 023-042-23}: MATCH at [3]
+LAI:023-042-23 and CGI[3]:{023-042-42-6, 023-99-23-5, 023-042-23-5}: MATCH at [2]
+CGI:023-042-23-5 and LAC[2]:{42, 23}: MATCH at [1]
+CGI:023-042-23-5 and CI[2]:{6, 5}: MATCH at [1]
+CGI:023-042-23-5 and LAC-CI[2]:{42-6, 23-5}: MATCH at [1]
+CGI:023-042-23-5 and LAI[4]:{023-042-42, 023-99-23, 023-42-23, 023-042-23}: MATCH at [3]
+CGI:023-042-23-5 and CGI[3]:{023-042-42-6, 023-99-23-5, 023-042-23-5}: MATCH at [2]
+
+test_cell_id_list_matching(test mismatch)
+LAC:23 and LAC[1]:{42}: mismatch
+LAC:23 vs. CI: No match_id entries to test mismatch
+LAC:23 and LAC-CI[1]:{42-6}: mismatch
+LAC:23 and LAI[1]:{023-042-42}: mismatch
+LAC:23 and CGI[1]:{023-042-42-6}: mismatch
+CI:5 vs. LAC: No match_id entries to test mismatch
+CI:5 and CI[1]:{6}: mismatch
+CI:5 and LAC-CI[1]:{42-6}: mismatch
+CI:5 vs. LAI: No match_id entries to test mismatch
+CI:5 and CGI[1]:{023-042-42-6}: mismatch
+LAC-CI:23-5 and LAC[1]:{42}: mismatch
+LAC-CI:23-5 and CI[1]:{6}: mismatch
+LAC-CI:23-5 and LAC-CI[1]:{42-6}: mismatch
+LAC-CI:23-5 and LAI[1]:{023-042-42}: mismatch
+LAC-CI:23-5 and CGI[1]:{023-042-42-6}: mismatch
+LAI:023-042-23 and LAC[1]:{42}: mismatch
+LAI:023-042-23 vs. CI: No match_id entries to test mismatch
+LAI:023-042-23 and LAC-CI[1]:{42-6}: mismatch
+LAI:023-042-23 and LAI[3]:{023-042-42, 023-99-23, 023-42-23}: mismatch
+LAI:023-042-23 and CGI[2]:{023-042-42-6, 023-99-23-5}: mismatch
+CGI:023-042-23-5 and LAC[1]:{42}: mismatch
+CGI:023-042-23-5 and CI[1]:{6}: mismatch
+CGI:023-042-23-5 and LAC-CI[1]:{42-6}: mismatch
+CGI:023-042-23-5 and LAI[3]:{023-042-42, 023-99-23, 023-42-23}: mismatch
+CGI:023-042-23-5 and CGI[2]:{023-042-42-6, 023-99-23-5}: mismatch
 Done
