@@ -7,44 +7,54 @@ import (
77
88func TestParseBatteryStatus (t * testing.T ) {
99 tests := []struct {
10- input string
11- want string
10+ input string
11+ want BatteryStatus
12+ wantText string
1213 }{
13- {"2" , "Charging" },
14- {"3" , "Discharging" },
15- {"4" , "Not charging" },
16- {"5" , "Full" },
17- {"1" , "Unknown" },
18- {"" , "Unknown" },
19- {"garbage" , "Unknown" },
20- {"99" , "Unknown" },
14+ {"2" , BatteryStatusCharging , "Charging" },
15+ {"3" , BatteryStatusDischarging , "Discharging" },
16+ {"4" , BatteryStatusNotCharging , "Not charging" },
17+ {"5" , BatteryStatusFull , "Full" },
18+ {"1" , BatteryStatusUnknown , "Unknown" },
19+ {"" , BatteryStatusUnknown , "Unknown" },
20+ {"garbage" , BatteryStatusUnknown , "Unknown" },
21+ {"99" , BatteryStatus ( 99 ), "Unknown" }, // unknown int code falls back to "Unknown" text
2122 }
2223 for _ , tt := range tests {
23- if got := parseBatteryStatus (tt .input ); got != tt .want {
24- t .Errorf ("parseBatteryStatus(%q) = %q, want %q" , tt .input , got , tt .want )
24+ got := parseBatteryStatus (tt .input )
25+ if got != tt .want {
26+ t .Errorf ("parseBatteryStatus(%q) = %d, want %d" , tt .input , got , tt .want )
27+ }
28+ if got .String () != tt .wantText {
29+ t .Errorf ("parseBatteryStatus(%q).String() = %q, want %q" , tt .input , got .String (), tt .wantText )
2530 }
2631 }
2732}
2833
2934func TestParseBatteryHealth (t * testing.T ) {
3035 tests := []struct {
31- input string
32- want string
36+ input string
37+ want BatteryHealth
38+ wantText string
3339 }{
34- {"1" , "Unknown" },
35- {"2" , "Good" },
36- {"3" , "Overheat" },
37- {"4" , "Dead" },
38- {"5" , "Over voltage" },
39- {"6" , "Failure" },
40- {"7" , "Cold" },
41- {"" , "Unknown" },
42- {"garbage" , "Unknown" },
43- {"99" , "Unknown" },
40+ {"1" , BatteryHealthUnknown , "Unknown" },
41+ {"2" , BatteryHealthGood , "Good" },
42+ {"3" , BatteryHealthOverheat , "Overheat" },
43+ {"4" , BatteryHealthDead , "Dead" },
44+ {"5" , BatteryHealthOverVoltage , "Over voltage" },
45+ {"6" , BatteryHealthFailure , "Failure" },
46+ {"7" , BatteryHealthCold , "Cold" },
47+ {"" , BatteryHealthUnknown , "Unknown" },
48+ {"garbage" , BatteryHealthUnknown , "Unknown" },
49+ {"99" , BatteryHealth ( 99 ), "Unknown" },
4450 }
4551 for _ , tt := range tests {
46- if got := parseBatteryHealth (tt .input ); got != tt .want {
47- t .Errorf ("parseBatteryHealth(%q) = %q, want %q" , tt .input , got , tt .want )
52+ got := parseBatteryHealth (tt .input )
53+ if got != tt .want {
54+ t .Errorf ("parseBatteryHealth(%q) = %d, want %d" , tt .input , got , tt .want )
55+ }
56+ if got .String () != tt .wantText {
57+ t .Errorf ("parseBatteryHealth(%q).String() = %q, want %q" , tt .input , got .String (), tt .wantText )
4858 }
4959 }
5060}
@@ -148,21 +158,21 @@ func TestParseCPUCores(t *testing.T) {
148158 tests := []struct {
149159 name string
150160 input string
151- want string
161+ want int
152162 }{
153- {"two cores" , "processor\t : 0\n BogoMIPS\t : 52.00\n processor\t : 1\n " , "2" },
163+ {"two cores" , "processor\t : 0\n BogoMIPS\t : 52.00\n processor\t : 1\n " , 2 },
154164 // ARM header line "Processor : AArch64 ..." must NOT be counted —
155165 // the device has 2 cores, not 3.
156- {"arm header excluded" , "Processor\t : AArch64 Processor rev 4 (aarch64)\n processor\t : 0\n processor\t : 1\n " , "2" },
157- {"empty" , "" , "-" },
158- {"no matches" , "no processor lines here" , "-" },
166+ {"arm header excluded" , "Processor\t : AArch64 Processor rev 4 (aarch64)\n processor\t : 0\n processor\t : 1\n " , 2 },
167+ {"empty" , "" , - 1 },
168+ {"no matches" , "no processor lines here" , - 1 },
159169 // Non-numeric value should be ignored.
160- {"non-numeric value" , "processor\t : foo\n processor\t : 0\n " , "1" },
161- {"eight cores" , "processor\t : 0\n processor\t : 1\n processor\t : 2\n processor\t : 3\n processor\t : 4\n processor\t : 5\n processor\t : 6\n processor\t : 7\n " , "8" },
170+ {"non-numeric value" , "processor\t : foo\n processor\t : 0\n " , 1 },
171+ {"eight cores" , "processor\t : 0\n processor\t : 1\n processor\t : 2\n processor\t : 3\n processor\t : 4\n processor\t : 5\n processor\t : 6\n processor\t : 7\n " , 8 },
162172 }
163173 for _ , tt := range tests {
164174 if got := parseCPUCores (tt .input ); got != tt .want {
165- t .Errorf ("parseCPUCores(%q) = %q , want %q " , tt .input , got , tt .want )
175+ t .Errorf ("parseCPUCores(%q) = %d , want %d " , tt .input , got , tt .want )
166176 }
167177 }
168178}
0 commit comments