mirror of https://gitee.com/namelin2022/ollama
Browse Source
Removed redundant checks and streamlined the switch-case structure. Added test cases for both HumanBytes and HumanBytes2 to cover a wide range of scenarios.brucemacd/logprobs
committed by
GitHub
2 changed files with 91 additions and 2 deletions
@ -0,0 +1,91 @@ |
|||
package format |
|||
|
|||
import ( |
|||
"testing" |
|||
) |
|||
|
|||
func TestHumanBytes(t *testing.T) { |
|||
type testCase struct { |
|||
input int64 |
|||
expected string |
|||
} |
|||
|
|||
tests := []testCase{ |
|||
// Test bytes (B)
|
|||
{0, "0 B"}, |
|||
{1, "1 B"}, |
|||
{999, "999 B"}, |
|||
|
|||
// Test kilobytes (KB)
|
|||
{1000, "1 KB"}, |
|||
{1500, "1.5 KB"}, |
|||
{999999, "999 KB"}, |
|||
|
|||
// Test megabytes (MB)
|
|||
{1000000, "1 MB"}, |
|||
{1500000, "1.5 MB"}, |
|||
{999999999, "999 MB"}, |
|||
|
|||
// Test gigabytes (GB)
|
|||
{1000000000, "1 GB"}, |
|||
{1500000000, "1.5 GB"}, |
|||
{999999999999, "999 GB"}, |
|||
|
|||
// Test terabytes (TB)
|
|||
{1000000000000, "1 TB"}, |
|||
{1500000000000, "1.5 TB"}, |
|||
{1999999999999, "2.0 TB"}, |
|||
|
|||
// Test fractional values
|
|||
{1234, "1.2 KB"}, |
|||
{1234567, "1.2 MB"}, |
|||
{1234567890, "1.2 GB"}, |
|||
} |
|||
|
|||
for _, tc := range tests { |
|||
t.Run(tc.expected, func(t *testing.T) { |
|||
result := HumanBytes(tc.input) |
|||
if result != tc.expected { |
|||
t.Errorf("Expected %s, got %s", tc.expected, result) |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
|
|||
func TestHumanBytes2(t *testing.T) { |
|||
type testCase struct { |
|||
input uint64 |
|||
expected string |
|||
} |
|||
|
|||
tests := []testCase{ |
|||
// Test bytes (B)
|
|||
{0, "0 B"}, |
|||
{1, "1 B"}, |
|||
{1023, "1023 B"}, |
|||
|
|||
// Test kibibytes (KiB)
|
|||
{1024, "1.0 KiB"}, |
|||
{1536, "1.5 KiB"}, |
|||
{1048575, "1024.0 KiB"}, |
|||
|
|||
// Test mebibytes (MiB)
|
|||
{1048576, "1.0 MiB"}, |
|||
{1572864, "1.5 MiB"}, |
|||
{1073741823, "1024.0 MiB"}, |
|||
|
|||
// Test gibibytes (GiB)
|
|||
{1073741824, "1.0 GiB"}, |
|||
{1610612736, "1.5 GiB"}, |
|||
{2147483648, "2.0 GiB"}, |
|||
} |
|||
|
|||
for _, tc := range tests { |
|||
t.Run(tc.expected, func(t *testing.T) { |
|||
result := HumanBytes2(tc.input) |
|||
if result != tc.expected { |
|||
t.Errorf("Expected %s, got %s", tc.expected, result) |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
Loading…
Reference in new issue