/* * SPDX-FileCopyrightText: 2012–2015 Dustin Sallings * SPDX-License-Identifier: MIT */ package template import "testing" func testHumanizeBytes(t *testing.T, in int64, exp string) { if actual := humanizeBytes(in); actual != exp { t.Errorf("humanizeBytes(%d) got %v expected %v", in, actual, exp) } } func TestBytes(t *testing.T) { const ( IByte = 1 << (iota * 10) KiByte MiByte GiByte TiByte PiByte EiByte ) tests := []struct { in int64 exp string }{ {0, "0 B"}, {1, "1 B"}, {803, "803 B"}, {1023, "1023 B"}, {1024, "1.0 KiB"}, {MiByte - IByte, "1024 KiB"}, {1024 * 1024, "1.0 MiB"}, {GiByte - KiByte, "1024 MiB"}, {GiByte, "1.0 GiB"}, {TiByte - MiByte, "1024 GiB"}, {TiByte, "1.0 TiB"}, {PiByte - TiByte, "1023 TiB"}, {PiByte, "1.0 PiB"}, {EiByte - PiByte, "1023 PiB"}, {EiByte, "1.0 EiB"}, {5.5 * GiByte, "5.5 GiB"}, } for _, tt := range tests { testHumanizeBytes(t, tt.in, tt.exp) } }