// Copyright (c) 2015, Emir Pasic. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package utils import ( "strings" "testing" ) func TestToStringInts(t *testing.T) { var value interface{} value = int8(1) if actualValue, expectedValue := ToString(value), "1"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } value = int16(1) if actualValue, expectedValue := ToString(value), "1"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } value = int32(1) if actualValue, expectedValue := ToString(value), "1"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } value = int64(1) if actualValue, expectedValue := ToString(value), "1"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } value = rune(1) if actualValue, expectedValue := ToString(value), "1"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } } func TestToStringUInts(t *testing.T) { var value interface{} value = uint8(1) if actualValue, expectedValue := ToString(value), "1"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } value = uint16(1) if actualValue, expectedValue := ToString(value), "1"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } value = uint32(1) if actualValue, expectedValue := ToString(value), "1"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } value = uint64(1) if actualValue, expectedValue := ToString(value), "1"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } value = byte(1) if actualValue, expectedValue := ToString(value), "1"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } } func TestToStringFloats(t *testing.T) { var value interface{} value = float32(1.123456) if actualValue, expectedValue := ToString(value), "1.123456"; !strings.HasPrefix(actualValue, expectedValue) { t.Errorf("Got %v expected %v", actualValue, expectedValue) } value = float64(1.123456) if actualValue, expectedValue := ToString(value), "1.123456"; !strings.HasPrefix(actualValue, expectedValue) { t.Errorf("Got %v expected %v", actualValue, expectedValue) } } func TestToStringOther(t *testing.T) { var value interface{} value = "abc" if actualValue, expectedValue := ToString(value), "abc"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } value = true if actualValue, expectedValue := ToString(value), "true"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } type T struct { id int name string } if actualValue, expectedValue := ToString(T{1, "abc"}), "{id:1 name:abc}"; actualValue != expectedValue { t.Errorf("Got %v expected %v", actualValue, expectedValue) } }