#include "unity.h" #include "celrs/logger.h" #include "Mocklog_write.h" void setUp(void) { Mocklog_write_Init(); cel_logger_set_level(CEL_LOG_DEBUG); } void tearDown(void) { Mocklog_write_Verify(); Mocklog_write_Destroy(); } void test_log_debug_emits_at_debug_level(void) { cel_log_write_Expect("[DEBUG] hello"); cel_log_debug("hello"); } void test_log_info_emits_at_debug_level(void) { cel_log_write_Expect("[INFO] world"); cel_log_info("world"); } void test_log_warn_emits_at_warn_level(void) { cel_logger_set_level(CEL_LOG_WARN); cel_log_write_Expect("[WARN] alert"); cel_log_warn("alert"); } void test_log_err_emits_at_warn_level(void) { cel_logger_set_level(CEL_LOG_WARN); cel_log_write_Expect("[ERROR] fatal"); cel_log_err("fatal"); } void test_log_debug_suppressed_at_info_level(void) { cel_logger_set_level(CEL_LOG_INFO); cel_log_debug("silent"); } void test_log_info_suppressed_at_warn_level(void) { cel_logger_set_level(CEL_LOG_WARN); cel_log_info("silent"); } void test_log_warn_suppressed_at_error_level(void) { cel_logger_set_level(CEL_LOG_ERROR); cel_log_warn("silent"); } void test_log_none_suppresses_all(void) { cel_logger_set_level(CEL_LOG_NONE); cel_log_debug("silent"); cel_log_info("silent"); cel_log_warn("silent"); cel_log_err("silent"); } void test_level_can_be_raised_then_lowered(void) { cel_logger_set_level(CEL_LOG_ERROR); cel_log_info("silent"); cel_logger_set_level(CEL_LOG_DEBUG); cel_log_write_Expect("[INFO] now visible"); cel_log_info("now visible"); } int main(void) { UNITY_BEGIN(); RUN_TEST(test_log_debug_emits_at_debug_level); RUN_TEST(test_log_info_emits_at_debug_level); RUN_TEST(test_log_warn_emits_at_warn_level); RUN_TEST(test_log_err_emits_at_warn_level); RUN_TEST(test_log_debug_suppressed_at_info_level); RUN_TEST(test_log_info_suppressed_at_warn_level); RUN_TEST(test_log_warn_suppressed_at_error_level); RUN_TEST(test_log_none_suppresses_all); RUN_TEST(test_level_can_be_raised_then_lowered); return UNITY_END(); }