mirror of
https://gitee.com/johng/gf
synced 2026-07-08 22:40:30 +08:00
添加garray测试代码
This commit is contained in:
@ -198,4 +198,85 @@ func TestIntArray_Join(t *testing.T) {
|
||||
array1 := garray.NewIntArrayFrom(a1)
|
||||
gtest.Assert(array1.Join("."), "0.1.2.3.4.5.6")
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewSortedIntArrayFrom(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []int{0,3,2,1,4,5,6}
|
||||
array1 := garray.NewSortedIntArrayFrom(a1,true)
|
||||
gtest.Assert(array1.Join("."), "0.1.2.3.4.5.6")
|
||||
})
|
||||
}
|
||||
|
||||
func TestNewSortedIntArrayFromCopy(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []int{0,5,2,1,4,3,6}
|
||||
array1 := garray.NewSortedIntArrayFromCopy(a1,false)
|
||||
//@todo
|
||||
gtest.Assert(array1.Join("."), "0.5.2.1.4.3.6")
|
||||
})
|
||||
}
|
||||
|
||||
func TestSortedIntArray_SetArray(t *testing.T){
|
||||
gtest.Case(t, func() {
|
||||
a1 := []int{0,1,2,3}
|
||||
a2 := []int{4,5,6}
|
||||
array1 := garray.NewSortedIntArrayFrom(a1)
|
||||
array2:=array1.SetArray(a2)
|
||||
|
||||
gtest.Assert(array2.Len(),3)
|
||||
gtest.Assert(array2.Search(3),0)
|
||||
gtest.Assert(array2.Search(5),1)
|
||||
gtest.Assert(array2.Search(6),2)
|
||||
})
|
||||
}
|
||||
|
||||
func TestSortedIntArray_Sort(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []int{0,3,2,1}
|
||||
|
||||
array1 := garray.NewSortedIntArrayFrom(a1)
|
||||
array2:=array1.Sort()
|
||||
|
||||
gtest.Assert(array2.Len(),4)
|
||||
gtest.Assert(array2,[]int{0,1,2,3})
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
func TestSortedIntArray_Get(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []int{1,3,5,0}
|
||||
array1 := garray.NewSortedIntArrayFrom(a1)
|
||||
gtest.Assert(array1.Get(0),0)
|
||||
gtest.Assert(array1.Get(1),1)
|
||||
gtest.Assert(array1.Get(3),5)
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
func TestSortedIntArray_Remove(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []int{1,3,5,0}
|
||||
array1 := garray.NewSortedIntArrayFrom(a1)
|
||||
i1:=array1.Remove(2)
|
||||
gtest.Assert(i1,3)
|
||||
gtest.Assert(array1.Search(5),2)
|
||||
|
||||
// 再次删除剩下的数组中的第一个
|
||||
i2:=array1.Remove(0)
|
||||
gtest.Assert(i2,0)
|
||||
gtest.Assert(array1.Search(5),1)
|
||||
|
||||
|
||||
a2 := []int{1,3}
|
||||
array2 := garray.NewSortedIntArrayFrom(a2)
|
||||
i3:=array2.Remove(1)
|
||||
gtest.Assert(i3,3)
|
||||
t.Log(array2)
|
||||
gtest.Assert(array2.Search(2),-1)
|
||||
gtest.Assert(array2.Search(1),0)
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -201,4 +201,80 @@ func TestArray_Join(t *testing.T) {
|
||||
array1 := garray.NewArrayFrom(a1)
|
||||
gtest.Assert(array1.Join("."), "0.1.2.3.4.5.6")
|
||||
})
|
||||
}
|
||||
|
||||
func TestArray_Replace(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []interface{}{0,1,2,3,4,5,6}
|
||||
a2 := []interface{}{"a","b","c"}
|
||||
a3 := []interface{}{"m","n","p","z","x","y","d","u"}
|
||||
array1 := garray.NewArrayFrom(a1)
|
||||
array2:=array1.Replace(a2)
|
||||
gtest.Assert(array2.Len(), 7)
|
||||
gtest.Assert(array2.Contains("b"),true)
|
||||
gtest.Assert(array2.Contains(4),true)
|
||||
gtest.Assert(array2.Contains("v"),false)
|
||||
array3:=array1.Replace(a3)
|
||||
gtest.Assert(array3.Len(), 7)
|
||||
gtest.Assert(array3.Contains(4),false)
|
||||
gtest.Assert(array3.Contains("p"),true)
|
||||
gtest.Assert(array3.Contains("u"),false)
|
||||
})
|
||||
}
|
||||
|
||||
func TestArray_SetArray(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []interface{}{0,1,2,3,4,5,6}
|
||||
a2 := []interface{}{"a","b","c"}
|
||||
|
||||
array1 := garray.NewArrayFrom(a1)
|
||||
array1=array1.SetArray(a2)
|
||||
gtest.Assert(array1.Len(), 3)
|
||||
gtest.Assert(array1.Contains("b"), true)
|
||||
gtest.Assert(array1.Contains("5"), false)
|
||||
})
|
||||
}
|
||||
|
||||
func TestArray_Sum(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []interface{}{0,1,2,3}
|
||||
a2 := []interface{}{"a","b","c"}
|
||||
a3 := []interface{}{"a","1","2"}
|
||||
|
||||
array1 := garray.NewArrayFrom(a1)
|
||||
array2 := garray.NewArrayFrom(a2)
|
||||
array3 := garray.NewArrayFrom(a3)
|
||||
|
||||
gtest.Assert(array1.Sum(), 6)
|
||||
gtest.Assert(array2.Sum(), 0)
|
||||
gtest.Assert(array3.Sum(), 3)
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
func TestArray_Clone(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []interface{}{0,1,2,3}
|
||||
|
||||
|
||||
array1 := garray.NewArrayFrom(a1)
|
||||
array2:=array1.Clone()
|
||||
|
||||
gtest.Assert(array1.Len(), 4)
|
||||
gtest.Assert(array2.Sum(), 6)
|
||||
gtest.AssertEQ(array1, array2)
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
func TestArray_CountValues(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []interface{}{"a","b","c","d","e","d"}
|
||||
array1 := garray.NewArrayFrom(a1)
|
||||
array2:=array1.CountValues()
|
||||
gtest.Assert(len(array2),5)
|
||||
gtest.Assert(array2["b"], 1)
|
||||
gtest.Assert(array2["d"], 2)
|
||||
})
|
||||
}
|
||||
@ -171,10 +171,13 @@ func TestStringArray_Rand(t *testing.T) {
|
||||
|
||||
func TestStringArray_PopRands(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a2 := []string{"100", "200", "300", "400", "500", "600"}
|
||||
array3 := garray.NewStringArrayFrom(a2,true)
|
||||
gtest.AssertIN((array3.PopRands(1)), a2)
|
||||
gtest.Assert(len(array3.PopRands(1)), 1)
|
||||
a1 := []string{"a", "b", "c", "d", "e", "f", "g"}
|
||||
a2 := []string{"1", "2", "3", "4", "5", "6", "7"}
|
||||
array1 := garray.NewStringArrayFrom(a1)
|
||||
//todo gtest.AssertIN(array1.PopRands(1),a1)
|
||||
gtest.AssertIN(array1.PopRands(1), strings.Join(a1, ","))
|
||||
gtest.AssertNI(array1.PopRands(1), strings.Join(a2, ","))
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
@ -225,7 +228,6 @@ func TestStringArray_SetArray(t *testing.T) {
|
||||
gtest.Assert(array1.Contains("2"), false)
|
||||
gtest.Assert(array1.Contains("c"), true)
|
||||
gtest.Assert(array1.Len(), 4)
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
@ -294,6 +296,27 @@ func TestStringArray_PopRand(t *testing.T) {
|
||||
gtest.Assert(strings.Contains("0,1,2,3,4,5,6", str1), true)
|
||||
gtest.Assert(array1.Len(), 6)
|
||||
})
|
||||
|
||||
// TestStringArray_PopRands()
|
||||
}
|
||||
|
||||
func TestStringArray_Clone(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []string{"0", "1", "2", "3", "4", "5", "6"}
|
||||
array1 := garray.NewStringArrayFrom(a1)
|
||||
array2 := array1.Clone()
|
||||
gtest.Assert(array2, array1)
|
||||
gtest.Assert(array2.Len(), 7)
|
||||
})
|
||||
}
|
||||
|
||||
func TestStringArray_CountValues(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
a1 := []string{"0", "1", "2", "3", "4", "4", "6"}
|
||||
array1 := garray.NewStringArrayFrom(a1)
|
||||
|
||||
m1 := array1.CountValues()
|
||||
gtest.Assert(len(m1), 6)
|
||||
gtest.Assert(m1["2"], 1)
|
||||
gtest.Assert(m1["4"], 2)
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user