summaryrefslogtreecommitdiff
path: root/cesar/ce/rx/bitloading/test/src/test_intervals.c
diff options
context:
space:
mode:
authorJérôme Jutteau2011-05-18 11:32:12 +0200
committerJérôme Jutteau2011-05-18 17:14:10 +0200
commit91c83e1046652bbbb8a8cd4ef183c1b945e5acf9 (patch)
tree47e34b6fe23ebfafb30c3c9f80f6ba2f7b3b1568 /cesar/ce/rx/bitloading/test/src/test_intervals.c
parent57f7d8692b29988d4af183dcd9f56718e753cb96 (diff)
cesar/ce/rx/bitloading: update tmi of intervals, refs #2364
Diffstat (limited to 'cesar/ce/rx/bitloading/test/src/test_intervals.c')
-rw-r--r--cesar/ce/rx/bitloading/test/src/test_intervals.c44
1 files changed, 41 insertions, 3 deletions
diff --git a/cesar/ce/rx/bitloading/test/src/test_intervals.c b/cesar/ce/rx/bitloading/test/src/test_intervals.c
index 8b58b5de82..e584b0d8fd 100644
--- a/cesar/ce/rx/bitloading/test/src/test_intervals.c
+++ b/cesar/ce/rx/bitloading/test/src/test_intervals.c
@@ -34,18 +34,20 @@ test_suite_ce_rx_bl_intervals_init (test_t t)
test_begin (t, "Intervals alloc")
{
ce_rx_bitloading_intervals_t *its = NULL;
- its = ce_rx_bl_intervals_alloc ();
+ its = ce_rx_bl_intervals_alloc (42);
test_fail_if (its == NULL);
ce_rx_bl_intervals_free (its);
} test_end;
test_begin (t, "Intervals bit-loading init.")
{
- ce_rx_bitloading_intervals_t *its = ce_rx_bl_intervals_alloc ();
+ ce_rx_bitloading_intervals_t *its = ce_rx_bl_intervals_alloc (42);
int i;
for (i = 0; i < mac_interval_fsm_count_; i++)
{
- test_fail_unless (its->intervals[i].fsm == CE_RX_BL_FSM_STATE_INTERVAL_TRACKING);
+ test_fail_unless (its->intervals[i].fsm ==
+ CE_RX_BL_FSM_STATE_INTERVAL_TRACKING);
+ test_fail_unless (its->tmi[i] == 42);
}
ce_rx_bl_intervals_free (its);
} test_end;
@@ -395,6 +397,40 @@ test_suite_ce_rx_bl_intervals_measure_to_event (test_t t)
} test_end;
}
+/*
+ * Test suite for updating TMI of intervals.
+ */
+void
+test_suite_ce_rx_bl_intervals_update_tmi (test_t t)
+{
+ test_case_begin (t, "Update TMI of intervals.");
+
+ test_begin (t, "simple test")
+ {
+ int i;
+ sta_t sta;
+ sta_init (&sta, 42);
+
+ mac_interval_clear (sta.rx_tonemaps);
+ mac_interval_append (sta.rx_tonemaps, 1000, 42);
+ mac_interval_commit_changes (sta.rx_tonemaps);
+
+ sta.intervals = ce_rx_bl_intervals_alloc (0);
+ for (i = 0; i < mac_interval_fsm_count_; i++)
+ sta.intervals->tmi[i] = i;
+
+ ce_rx_bl_intervals_update_tmi (&sta);
+
+ tonemap_intervals_t *ints = sta.rx_tonemaps->intervals;
+ for (i = 0; i < ints->intervals_nb; i++)
+ test_fail_unless
+ (i % mac_interval_fsm_count_ == ints->interval[i].tmi);
+ ce_rx_bl_intervals_free (sta.intervals);
+ sta.intervals = NULL;
+ sta_uninit (&sta);
+ } test_end;
+}
+
void
test_suite_ce_rx_bl_intervals (test_t t)
{
@@ -406,4 +442,6 @@ test_suite_ce_rx_bl_intervals (test_t t)
test_suite_ce_rx_bl_intervals_measure_to_interval (t);
/* Measure to event computation */
test_suite_ce_rx_bl_intervals_measure_to_event (t);
+ /* Updating TMI of intervals. */
+ test_suite_ce_rx_bl_intervals_update_tmi (t);
}