package ups import "testing" func TestParseNUT(t *testing.T) { raw := `battery.runtime: 384 battery.charge: 72 ups.load: 19 ups.realpower.nominal: 510 ups.status: OB LB ` s, err := parseNUT(raw) if err != nil { t.Fatalf("parseNUT returned error: %v", err) } if !s.OnBattery { t.Fatalf("expected OnBattery=true") } if !s.LowBattery { t.Fatalf("expected LowBattery=true") } if s.RuntimeSeconds != 384 { t.Fatalf("expected runtime 384, got %d", s.RuntimeSeconds) } if s.BatteryCharge != 72 { t.Fatalf("expected battery charge 72, got %.2f", s.BatteryCharge) } if s.LoadPercent != 19 { t.Fatalf("expected load 19, got %.2f", s.LoadPercent) } if s.NominalPowerW != 510 { t.Fatalf("expected nominal power 510, got %.2f", s.NominalPowerW) } }