#include "dashboard.h" #include int main() { using namespace bambu_display; assert(remaining(1.75f, "h") == "1h 45m"); assert(remaining(105.0f, "min") == "1h 45m"); assert(remaining(6300.0f, "s") == "1h 45m"); assert(remaining(0.15f, "h") == "0h 09m"); assert(remaining(NAN, "h") == "--"); assert(remaining(-1, "min") == "--"); assert(remaining(10, "") == "--"); assert(remaining(INFINITY, "h") == "--"); assert(number(NAN) == "--"); assert(temperature(219, 220, "°C") == "219 / 220 °C"); assert(filament_color("#00FF00FF") == GREEN); assert(filament_color("60de9a") == 0x60DE9A); assert(filament_color("#60DE9AZZ") == TRACK); assert(filament_color("unknown") == TRACK); assert(gauge_value(NAN, 100) == 0); assert(gauge_value(110, 100) == 100); assert(gauge_value(-10, 100) == 0); assert(duration_seconds(1.75f, "h") == 6300); assert(duration_seconds(105, "min") == 6300); assert(duration_seconds(NAN, "h") == -1); assert(duration_seconds(1, "") == -1); assert(std::abs(celsius(392, "°F") - 200) < 0.01f); Snapshot data; data.online = "on"; data.status = "running"; assert(!data.live()); assert(data.status_text() == "HA OFFLINE"); data.connected = true; assert(data.live()); assert(data.status_text() == "PRINTING"); data.online = "off"; assert(!data.live()); assert(data.status_text() == "PRINTER OFFLINE"); data.online = "unavailable"; assert(data.status_text() == "SYNCING"); data.online = "on"; data.status = "unknown"; assert(!data.live()); data.status = "pause"; assert(data.status_text() == "PAUSED"); assert(data.status_color() == AMBER); data.print_error = "on"; assert(data.status_text() == "PRINT ERROR"); assert(data.status_color() == RED); data.print_error = "off"; data.hms_error = "True"; assert(data.status_text() == "HMS ALERT"); assert(data.status_color() == RED); data.hms_error = "off"; data.status = "finish"; assert(data.status_text() == "COMPLETE"); assert(data.status_color() == GREEN); }