1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // Copyright 2017 Google Inc. All Rights Reserved.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
-
- package measurement
-
- import (
- "testing"
- )
-
- func TestScale(t *testing.T) {
- for _, tc := range []struct {
- value int64
- fromUnit, toUnit string
- wantValue float64
- wantUnit string
- }{
- {1, "s", "ms", 1000, "ms"},
- {1, "kb", "b", 1024, "B"},
- {1, "kbyte", "b", 1024, "B"},
- {1, "kilobyte", "b", 1024, "B"},
- {1, "mb", "kb", 1024, "kB"},
- {1, "gb", "mb", 1024, "MB"},
- {1024, "gb", "tb", 1, "TB"},
- {1024, "tb", "pb", 1, "PB"},
- {2048, "mb", "auto", 2, "GB"},
- {3.1536e7, "s", "auto", 1, "yrs"},
- {-1, "s", "ms", -1000, "ms"},
- {1, "foo", "count", 1, ""},
- {1, "foo", "bar", 1, "bar"},
- } {
- if gotValue, gotUnit := Scale(tc.value, tc.fromUnit, tc.toUnit); gotValue != tc.wantValue || gotUnit != tc.wantUnit {
- t.Errorf("Scale(%d, %q, %q) = (%f, %q), want (%f, %q)",
- tc.value, tc.fromUnit, tc.toUnit, gotValue, gotUnit, tc.wantValue, tc.wantUnit)
- }
- }
- }
|