aboutsummaryrefslogtreecommitdiffstats
path: root/tests/types/TypesTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/types/TypesTest.cpp')
-rw-r--r--tests/types/TypesTest.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp
index 8b3cfd1..ee1c817 100644
--- a/tests/types/TypesTest.cpp
+++ b/tests/types/TypesTest.cpp
@@ -427,6 +427,42 @@ static void test_rlc_dl_ul_basic()
}
}
+void test_immediate_assign_rej()
+{
+ uint8_t plen;
+ bitvec *immediate_assignment_rej = bitvec_alloc(22);
+
+ bitvec_unhex(immediate_assignment_rej,
+ "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b");
+ plen = Encoding::write_immediate_assignment_reject(
+ immediate_assignment_rej, 112, 100,
+ GSM_L1_BURST_TYPE_ACCESS_1);
+
+ printf("assignment reject: %s\n",
+ osmo_hexdump(immediate_assignment_rej->data, 22));
+
+ OSMO_ASSERT(plen == 19);
+ /* RA value */
+ OSMO_ASSERT(immediate_assignment_rej->data[3] == 0x7f);
+ /* Extended RA value */
+ OSMO_ASSERT(immediate_assignment_rej->data[19] == 0xc0);
+
+ bitvec_unhex(immediate_assignment_rej,
+ "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b");
+
+ plen = Encoding::write_immediate_assignment_reject(
+ immediate_assignment_rej, 112, 100,
+ GSM_L1_BURST_TYPE_ACCESS_0);
+
+ printf("assignment reject: %s\n",
+ osmo_hexdump(immediate_assignment_rej->data, 22));
+
+ OSMO_ASSERT(plen == 19);
+ /* RA value */
+ OSMO_ASSERT(immediate_assignment_rej->data[3] == 0x70);
+
+}
+
int main(int argc, char **argv)
{
osmo_init_logging(&gprs_log_info);
@@ -439,6 +475,7 @@ int main(int argc, char **argv)
test_rlc_v_b();
test_rlc_v_n();
test_rlc_dl_ul_basic();
+ test_immediate_assign_rej();
return EXIT_SUCCESS;
}