aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Phillips <david@yeah.nah.nz>2021-02-27 22:34:06 +1300
committerDavid Phillips <david@yeah.nah.nz>2021-02-27 22:35:40 +1300
commitd773538a7454a777a5e3186771c5719a7cb27357 (patch)
treecd8718d5a280ae8e92ec856fb9362401afc9d6ff
parenteaba2a7b0658f648bf32219aec0ce827c94333a0 (diff)
downloadaltimeter-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.c21
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);
}