diff options
Diffstat (limited to 'test_data_manager.c')
-rw-r--r-- | test_data_manager.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/test_data_manager.c b/test_data_manager.c index 044282b..5621981 100644 --- a/test_data_manager.c +++ b/test_data_manager.c @@ -21,24 +21,39 @@ static struct barometer mock_barometer = { .read_pressure = set_mock_get_baro, }; +/* Test the initial barometer "setting" just after init */ RUNNER_DECLARE_TEST(test_data_manager_init_setting) { struct data_ctx ctx; struct timer timer; get_system_timer(&timer); + data_manager_init(&ctx, &timer, &mock_barometer); + /* FIXME kinda gross that this baro setting is hard-coded */ + TEST_ASSERT_FLOAT_WITHIN(FLT_EPSILON, 1013.25, ctx.setting); +} + +/* Test that initialising the data manager triggers a read of the barometer */ +RUNNER_DECLARE_TEST(test_data_manager_init_reads_barometer) +{ + struct data_ctx ctx; + struct timer timer; + get_system_timer(&timer); reset_mock_get_baro(); data_manager_init(&ctx, &timer, &mock_barometer); TEST_ASSERT_EQUAL(1, mock_baro_called); } -RUNNER_DECLARE_TEST(test_data_manager_first_readings) +/* Test that re-initialising the data manager triggers a read of the + * barometer. I.e. reading the baro is not sticky */ +RUNNER_DECLARE_TEST(test_data_manager_reinit_reads_barometer) { struct data_ctx ctx; struct timer timer; get_system_timer(&timer); + /* initialise it once */ data_manager_init(&ctx, &timer, &mock_barometer); - reset_mock_get_baro(); - data_manager_tick(&ctx); + /* initialise it again */ + data_manager_init(&ctx, &timer, &mock_barometer); TEST_ASSERT_EQUAL(1, mock_baro_called); } |