1
0
mirror of https://github.com/divan/expvarmon.git synced 2025-04-27 13:48:55 +08:00

Add more tests

This commit is contained in:
Ivan Daniluk 2016-11-12 22:35:51 +01:00
parent 42a617b552
commit f96b3c1045
2 changed files with 27 additions and 7 deletions

14
var.go
View File

@ -20,6 +20,13 @@ type VarName string
// VarKind specifies special kinds of values, affects formatting.
type VarKind int
const (
KindDefault VarKind = iota
KindMemory
KindDuration
KindString
)
// Var represents arbitrary value for variable.
type Var interface {
Kind() VarKind
@ -144,13 +151,6 @@ func NewVar(name VarName) Var {
}
}
const (
KindDefault VarKind = iota
KindMemory
KindDuration
KindString
)
// ToSlice converts "dot-separated" notation into the "slice of strings".
//
// "dot-separated" notation is a human-readable format, passed via args.

View File

@ -93,6 +93,21 @@ func TestVarName(t *testing.T) {
}
}
func TestVarNew(t *testing.T) {
v := NewVar(VarName("mem:field.Subfield"))
if v.Kind() != KindMemory {
t.Fatalf("Expect Memory, got %v", v.Kind())
}
v = NewVar(VarName("str:field.Subfield"))
if v.Kind() != KindString {
t.Fatalf("Expect String, got %v", v.Kind())
}
v = NewVar(VarName("duration:field.Subfield"))
if v.Kind() != KindDuration {
t.Fatalf("Expect Duration, got %v", v.Kind())
}
}
func str2val(t *testing.T, s string) *jason.Value {
val, err := jason.NewValueFromReader(strings.NewReader(s))
if err != nil {
@ -116,6 +131,7 @@ func TestVarNumber(t *testing.T) {
testNumber(t, v, "142", 142, "142.00")
testNumber(t, v, "13.24", 13, "13.24")
testNumber(t, v, "true", 0, "0.00")
testNumber(t, v, "\"success\"", 0, "0.00")
}
func TestVarMemory(t *testing.T) {
@ -170,4 +186,8 @@ func TestVarString(t *testing.T) {
if want := "success"; v.String() != want {
t.Fatalf("Expect value to be %s, got %s", want, v.String())
}
v.Set(str2val(t, "123"))
if want := "N/A"; v.String() != want {
t.Fatalf("Expect value to be %s, got %s", want, v.String())
}
}