import format import gleam/dict import gleam/string import gleeunit import procfs pub fn main() -> Nil { gleeunit.main() } pub fn human_kb_test() { let assert "512K" = format.human_kb(512) let assert True = string.contains(format.human_kb(2048), "M") let assert True = string.contains(format.human_kb(2_097_152), "G") } pub fn percent_and_meter_test() { let assert True = string.contains(format.percent(12.3), "%") let m = format.meter(50.0, 10) let assert 10 = string.length(m) let s = format.sparkline([0.0, 25.0, 50.0, 75.0, 100.0], 5) let assert 5 = string.length(s) } pub fn band_test() { let assert format.Low = format.band(10.0) let assert format.Mid = format.band(50.0) let assert format.High = format.band(75.0) let assert format.Critical = format.band(95.0) } pub fn ticks_to_time_test() { // 100 ticks = 1.00s at CLK_TCK=100 let t = procfs.ticks_to_time(100) let assert True = string.contains(t, "1") } pub fn sample_smoke_test() { let snap0 = procfs.sample_with_core_history(0, 0, dict.new(), dict.new()) let assert True = snap0.process_count > 0 let assert True = snap0.mem.total_kb > 0 let assert True = string.length(snap0.hostname) > 0 let snap1 = procfs.sample_with_core_history( snap0.prev_cpu_total, snap0.prev_cpu_idle, procfs.core_history_from(snap0), snap0.prev_proc_ticks, ) let assert True = snap1.cpu_total_percent >=. 0.0 let assert True = snap1.cpu_total_percent <=. 100.0 }