From d773538a7454a777a5e3186771c5719a7cb27357 Mon Sep 17 00:00:00 2001 From: David Phillips Date: Sat, 27 Feb 2021 22:34:06 +1300 Subject: Reintroduce accidentally-removed unit test I accidentally removed the "initial barometer setting" test for the data manager in 27d6d2fc. This commit re-adds it. --- test_data_manager.c | 21 ++++++++++++++++++--- 1 file 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); } -- cgit v1.1