12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- 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)
- }
- })
- }
- }
|