diff options
author | David Phillips <david@yeah.nah.nz> | 2021-02-27 22:34:06 +1300 |
---|---|---|
committer | David Phillips <david@yeah.nah.nz> | 2021-02-27 22:35:40 +1300 |
commit | d773538a7454a777a5e3186771c5719a7cb27357 (patch) | |
tree | cd8718d5a280ae8e92ec856fb9362401afc9d6ff | |
parent | eaba2a7b0658f648bf32219aec0ce827c94333a0 (diff) | |
download | altimeter-d773538a7454a777a5e3186771c5719a7cb27357.tar.xz |
Reintroduce accidentally-removed unit test
I accidentally removed the "initial barometer setting" test for the data
manager in 27d6d2fc. This commit re-adds it.
-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); } |