Files
waterlevel-software/test/otaTests.cpp
Tobias Maier 5738eb4451
Some checks failed
Test compiling project / test (push) Failing after 1m38s
A ton of things
2025-02-14 21:27:04 +01:00

100 lines
3.0 KiB
C++

#include <unity.h>
#include <string.h>
#include <utils.cpp>
void test_latest_configuration_major() {
Configuration configs[] = {
{Version{1, 9, 9}, "url1", "Board1", "Config1"},
{Version{2, 8, 8}, "url2", "Board2", "Config2"},
{Version{3, 5, 1}, "url3", "Board3", "Config3"}
};
Configuration latest = getLatestConfiguration(configs, 3);
TEST_ASSERT_EQUAL(latest.version.major, 3);
TEST_ASSERT_EQUAL(latest.version.minor, 5);
TEST_ASSERT_EQUAL(latest.version.patch, 1);
}
void test_latest_configuration_minor() {
Configuration configs[] = {
{Version{1, 7, 9}, "url1", "Board1", "Config1"},
{Version{1, 8, 8}, "url2", "Board2", "Config2"},
{Version{1, 5, 1}, "url3", "Board3", "Config3"}
};
Configuration latest = getLatestConfiguration(configs, 3);
TEST_ASSERT_EQUAL(latest.version.major, 1);
TEST_ASSERT_EQUAL(latest.version.minor, 8);
TEST_ASSERT_EQUAL(latest.version.patch, 8);
}
void test_latest_configuration_patch() {
Configuration configs[] = {
{Version{1, 4, 4}, "url1", "Board1", "Config1"},
{Version{1, 4, 7}, "url2", "Board2", "Config2"},
{Version{1, 4, 2}, "url3", "Board3", "Config3"}
};
Configuration latest = getLatestConfiguration(configs, 3);
TEST_ASSERT_EQUAL(latest.version.major, 1);
TEST_ASSERT_EQUAL(latest.version.minor, 4);
TEST_ASSERT_EQUAL(latest.version.patch, 7);
}
void test_parse_version_valid_input() {
Version v = parseVersion("1.2.3");
TEST_ASSERT_EQUAL(1, v.major);
TEST_ASSERT_EQUAL(2, v.minor);
TEST_ASSERT_EQUAL(3, v.patch);
}
void test_parse_version_valid_input_2() {
Version v = parseVersion("61.5231.4212");
TEST_ASSERT_EQUAL(61, v.major);
TEST_ASSERT_EQUAL(5231, v.minor);
TEST_ASSERT_EQUAL(4212, v.patch);
}
void test_parse_version_missing_parts() {
Version v = parseVersion("1.2");
TEST_ASSERT_EQUAL(1, v.major);
TEST_ASSERT_EQUAL(2, v.minor);
TEST_ASSERT_EQUAL(0, v.patch);
}
void test_parse_version_more_missing_parts() {
Version v = parseVersion("1");
TEST_ASSERT_EQUAL(1, v.major);
TEST_ASSERT_EQUAL(0, v.minor);
TEST_ASSERT_EQUAL(0, v.patch);
}
void test_parse_version_invalid_format() {
Version v = parseVersion("invalid");
TEST_ASSERT_EQUAL(0, v.major);
TEST_ASSERT_EQUAL(0, v.minor);
TEST_ASSERT_EQUAL(0, v.patch);
}
void test_parse_version_extra_content() {
Version v = parseVersion("1.2.3-extra");
TEST_ASSERT_EQUAL(0, v.major);
TEST_ASSERT_EQUAL(0, v.minor);
TEST_ASSERT_EQUAL(0, v.patch);
}
int main() {
UNITY_BEGIN();
RUN_TEST(test_latest_configuration_major);
RUN_TEST(test_latest_configuration_minor);
RUN_TEST(test_latest_configuration_patch);
RUN_TEST(test_parse_version_valid_input);
RUN_TEST(test_parse_version_missing_parts);
RUN_TEST(test_parse_version_invalid_format);
RUN_TEST(test_parse_version_extra_content);
RUN_TEST(test_parse_version_valid_input_2);
RUN_TEST(test_parse_version_more_missing_parts);
UNITY_END();
}