#include #include #include 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(); }