添加garray测试代码

This commit is contained in:
jroam
2019-06-11 23:32:08 +08:00
parent 597f210f85
commit 1ae77f56e5
3 changed files with 188 additions and 8 deletions

View File

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

View File

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

View File

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