gods/utils/utils_test.go
2020-01-13 10:23:14 +08:00

105 lines
3.1 KiB
Go

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