aboutsummaryrefslogtreecommitdiff
path: root/plugins/telit/tests/test-mm-modem-helpers-telit.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/telit/tests/test-mm-modem-helpers-telit.c')
-rw-r--r--plugins/telit/tests/test-mm-modem-helpers-telit.c89
1 files changed, 83 insertions, 6 deletions
diff --git a/plugins/telit/tests/test-mm-modem-helpers-telit.c b/plugins/telit/tests/test-mm-modem-helpers-telit.c
index 857b93f4..cac10fb0 100644
--- a/plugins/telit/tests/test-mm-modem-helpers-telit.c
+++ b/plugins/telit/tests/test-mm-modem-helpers-telit.c
@@ -213,12 +213,13 @@ test_parse_supported_bands_response (void) {
GArray* bands = NULL;
for (i = 0; supported_band_mapping_tests[i].response != NULL; i++) {
- res = mm_telit_parse_supported_bands_response (supported_band_mapping_tests[i].response,
- supported_band_mapping_tests[i].modem_is_2g,
- supported_band_mapping_tests[i].modem_is_3g,
- supported_band_mapping_tests[i].modem_is_4g,
- &bands,
- &error);
+ res = mm_telit_parse_bnd_response (supported_band_mapping_tests[i].response,
+ supported_band_mapping_tests[i].modem_is_2g,
+ supported_band_mapping_tests[i].modem_is_3g,
+ supported_band_mapping_tests[i].modem_is_4g,
+ LOAD_SUPPORTED_BANDS,
+ &bands,
+ &error);
g_assert_no_error (error);
g_assert_true (res);
@@ -239,6 +240,81 @@ test_parse_supported_bands_response (void) {
}
}
+
+static BNDResponseTest current_band_mapping_tests [] = {
+ { "#BND: 0,5", TRUE, TRUE, FALSE, 3, { MM_MODEM_BAND_EGSM,
+ MM_MODEM_BAND_DCS,
+ MM_MODEM_BAND_U900
+ }
+ },
+ { "#BND: 1,3", TRUE, TRUE, FALSE, 5, { MM_MODEM_BAND_EGSM,
+ MM_MODEM_BAND_PCS,
+ MM_MODEM_BAND_U2100,
+ MM_MODEM_BAND_U1900,
+ MM_MODEM_BAND_U850,
+ }
+ },
+ { "#BND: 2,7", TRUE, TRUE, FALSE, 3, { MM_MODEM_BAND_DCS,
+ MM_MODEM_BAND_G850,
+ MM_MODEM_BAND_U17IV
+ },
+ },
+ { "#BND: 3,0,1", TRUE, TRUE, TRUE, 4, { MM_MODEM_BAND_PCS,
+ MM_MODEM_BAND_G850,
+ MM_MODEM_BAND_U2100,
+ MM_MODEM_BAND_EUTRAN_I
+ }
+ },
+ { "#BND: 0,0,3", TRUE, FALSE, TRUE, 4, { MM_MODEM_BAND_EGSM,
+ MM_MODEM_BAND_DCS,
+ MM_MODEM_BAND_EUTRAN_I,
+ MM_MODEM_BAND_EUTRAN_II
+ }
+ },
+ { "#BND: 0,0,3", FALSE, FALSE, TRUE, 2, { MM_MODEM_BAND_EUTRAN_I,
+ MM_MODEM_BAND_EUTRAN_II
+ }
+ },
+ { NULL, FALSE, FALSE, FALSE, 0, {}},
+};
+
+static void
+test_parse_current_bands_response (void) {
+ GError* error = NULL;
+ gboolean res = FALSE;
+ guint i, j;
+ GArray* bands = NULL;
+
+ for (i = 0; current_band_mapping_tests[i].response != NULL; i++) {
+ res = mm_telit_parse_bnd_response (current_band_mapping_tests[i].response,
+ current_band_mapping_tests[i].modem_is_2g,
+ current_band_mapping_tests[i].modem_is_3g,
+ current_band_mapping_tests[i].modem_is_4g,
+ LOAD_CURRENT_BANDS,
+ &bands,
+ &error);
+ g_assert_no_error (error);
+ g_assert_true (res);
+
+
+ for (j = 0; j < current_band_mapping_tests[i].mm_bands_len; j++) {
+ MMModemBand ref;
+ MMModemBand cur;
+
+ ref = current_band_mapping_tests[i].mm_bands[j];
+ cur = g_array_index (bands, MMModemBand, j);
+ g_assert_cmpint (cur, ==, ref);
+ }
+
+ g_assert_cmpint (bands->len, ==, current_band_mapping_tests[i].mm_bands_len);
+
+ g_array_free (bands, FALSE);
+ bands = NULL;
+ }
+}
+
+
+
int main (int argc, char **argv)
{
setlocale (LC_ALL, "");
@@ -250,5 +326,6 @@ int main (int argc, char **argv)
g_test_add_func ("/MM/telit/bands/supported/bands_contains", test_mm_bands_contains);
g_test_add_func ("/MM/telit/bands/supported/parse_band_flag", test_parse_band_flag_str);
g_test_add_func ("/MM/telit/bands/supported/parse_bands_response", test_parse_supported_bands_response);
+ g_test_add_func ("/MM/telit/bands/current/parse_bands_response", test_parse_current_bands_response);
return g_test_run ();
}