mirror of
https://github.com/astaxie/beego.git
synced 2024-11-25 21:11:29 +00:00
Added TestMapGet
This commit is contained in:
parent
d91840779a
commit
0e3fe64c69
@ -244,3 +244,80 @@ func TestParseFormTag(t *testing.T) {
|
|||||||
t.Errorf("Form Tag that should be ignored was not correctly parsed.")
|
t.Errorf("Form Tag that should be ignored was not correctly parsed.")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestMapGet(t *testing.T) {
|
||||||
|
// test one level map
|
||||||
|
m1 := map[string]int64{
|
||||||
|
"a": 1,
|
||||||
|
"1": 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
if res, err := MapGet(m1, "a"); err == nil {
|
||||||
|
if res.(int64) != 1 {
|
||||||
|
t.Errorf("Should return 1, but return %v", res)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
t.Errorf("Error happens %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if res, err := MapGet(m1, "1"); err == nil {
|
||||||
|
if res.(int64) != 2 {
|
||||||
|
t.Errorf("Should return 2, but return %v", res)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
t.Errorf("Error happens %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if res, err := MapGet(m1, 1); err == nil {
|
||||||
|
if res.(int64) != 2 {
|
||||||
|
t.Errorf("Should return 2, but return %v", res)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
t.Errorf("Error happens %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// test 2 level map
|
||||||
|
m2 := map[string]interface{}{
|
||||||
|
"1": map[string]float64{
|
||||||
|
"2": 3.5,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
if res, err := MapGet(m2, 1, 2); err == nil {
|
||||||
|
if res.(float64) != 3.5 {
|
||||||
|
t.Errorf("Should return 3.5, but return %v", res)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
t.Errorf("Error happens %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// test 5 level map
|
||||||
|
m5 := map[string]interface{}{
|
||||||
|
"1": map[string]interface{}{
|
||||||
|
"2": map[string]interface{}{
|
||||||
|
"3": map[string]interface{}{
|
||||||
|
"4": map[string]interface{}{
|
||||||
|
"5": 1.2,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
if res, err := MapGet(m5, 1, 2, 3, 4, 5); err == nil {
|
||||||
|
if res.(float64) != 1.2 {
|
||||||
|
t.Errorf("Should return 1.2, but return %v", res)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
t.Errorf("Error happens %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// check whether element not exists in map
|
||||||
|
if res, err := MapGet(m5, 5, 4, 3, 2, 1); err == nil {
|
||||||
|
if res != nil {
|
||||||
|
t.Errorf("Should return nil, but return %v", res)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
t.Errorf("Error happens %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user