This commit is contained in:
Joshua King
2026-10-17 17:09:47 -04:00
parent 5e51a1f9aa
commit 495efeb672
15 changed files with 4184 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
#include "dashboard.h"
#include <cassert>
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("#60DE9AFF") == GREEN);
assert(filament_color("60de9a") == GREEN);
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);
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);
}