test: Add tests for CPUInfo.GetMHzString method
Add 11 test cases covering: - Nil MHz returns empty string - String MHz returned as-is - Empty string handling - Float64 formatted without decimals - Float64 zero handling - Float64 rounding for large values - Int formatting - Int zero handling - Default formatting for other types (int64, bool, slice) Coverage: GetMHzString 0% -> 100%
This commit is contained in:
parent
7c27a74c42
commit
0527f151a6
1 changed files with 73 additions and 0 deletions
|
|
@ -1130,3 +1130,76 @@ func TestVMAgentFieldUnmarshalJSON_InVMStatus(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGetMHzString(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
cpu CPUInfo
|
||||||
|
want string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "nil MHz returns empty string",
|
||||||
|
cpu: CPUInfo{MHz: nil},
|
||||||
|
want: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "string MHz returned as-is",
|
||||||
|
cpu: CPUInfo{MHz: "3600.000"},
|
||||||
|
want: "3600.000",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "empty string MHz",
|
||||||
|
cpu: CPUInfo{MHz: ""},
|
||||||
|
want: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "float64 MHz formatted without decimals",
|
||||||
|
cpu: CPUInfo{MHz: float64(3600.123)},
|
||||||
|
want: "3600",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "float64 MHz zero",
|
||||||
|
cpu: CPUInfo{MHz: float64(0)},
|
||||||
|
want: "0",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "float64 MHz large value",
|
||||||
|
cpu: CPUInfo{MHz: float64(5000.999)},
|
||||||
|
want: "5001",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "int MHz formatted",
|
||||||
|
cpu: CPUInfo{MHz: int(2400)},
|
||||||
|
want: "2400",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "int MHz zero",
|
||||||
|
cpu: CPUInfo{MHz: int(0)},
|
||||||
|
want: "0",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "other type uses default formatting",
|
||||||
|
cpu: CPUInfo{MHz: int64(3200)},
|
||||||
|
want: "3200",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "boolean type uses default formatting",
|
||||||
|
cpu: CPUInfo{MHz: true},
|
||||||
|
want: "true",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "slice type uses default formatting",
|
||||||
|
cpu: CPUInfo{MHz: []int{1, 2, 3}},
|
||||||
|
want: "[1 2 3]",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tc := range tests {
|
||||||
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
|
got := tc.cpu.GetMHzString()
|
||||||
|
if got != tc.want {
|
||||||
|
t.Errorf("GetMHzString() = %q, want %q", got, tc.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue