milvus/client/column/vector_gen_test.go
congqixia 244d2c04f6
feat: Add milvusclient package and migrate GoSDK (#32907)
Related to #31293

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-05-10 18:01:30 +08:00

265 lines
6.8 KiB
Go

// Code generated by go generate; DO NOT EDIT
// This file is generated by go generated
package column
import (
"fmt"
"math/rand"
"testing"
"time"
"github.com/milvus-io/milvus-proto/go-api/v2/schemapb"
"github.com/milvus-io/milvus/client/v2/entity"
"github.com/stretchr/testify/assert"
)
func TestColumnBinaryVector(t *testing.T) {
rand.Seed(time.Now().UnixNano())
columnName := fmt.Sprintf("column_BinaryVector_%d", rand.Int())
columnLen := 12 + rand.Intn(10)
dim := ([]int{64, 128, 256, 512})[rand.Intn(4)]
v := make([][]byte, 0, columnLen)
dlen := dim
dlen /= 8
for i := 0; i < columnLen; i++ {
entry := make([]byte, dlen)
v = append(v, entry)
}
column := NewColumnBinaryVector(columnName, dim, v)
t.Run("test meta", func(t *testing.T) {
ft := entity.FieldTypeBinaryVector
assert.Equal(t, "BinaryVector", ft.Name())
assert.Equal(t, "[]byte", ft.String())
pbName, pbType := ft.PbFieldType()
assert.Equal(t, "[]byte", pbName)
assert.Equal(t, "", pbType)
})
t.Run("test column attribute", func(t *testing.T) {
assert.Equal(t, columnName, column.Name())
assert.Equal(t, entity.FieldTypeBinaryVector, column.Type())
assert.Equal(t, columnLen, column.Len())
assert.Equal(t, dim, column.Dim())
assert.Equal(t, v, column.Data())
var ev []byte
err := column.AppendValue(ev)
assert.Equal(t, columnLen+1, column.Len())
assert.Nil(t, err)
err = column.AppendValue(struct{}{})
assert.Equal(t, columnLen+1, column.Len())
assert.NotNil(t, err)
})
t.Run("test column field data", func(t *testing.T) {
fd := column.FieldData()
assert.NotNil(t, fd)
assert.Equal(t, fd.GetFieldName(), columnName)
c, err := FieldDataVector(fd)
assert.NotNil(t, c)
assert.NoError(t, err)
})
t.Run("test column field data error", func(t *testing.T) {
fd := &schemapb.FieldData{
Type: schemapb.DataType_BinaryVector,
FieldName: columnName,
}
_, err := FieldDataVector(fd)
assert.Error(t, err)
})
}
func TestColumnFloatVector(t *testing.T) {
rand.Seed(time.Now().UnixNano())
columnName := fmt.Sprintf("column_FloatVector_%d", rand.Int())
columnLen := 12 + rand.Intn(10)
dim := ([]int{64, 128, 256, 512})[rand.Intn(4)]
v := make([][]float32, 0, columnLen)
dlen := dim
for i := 0; i < columnLen; i++ {
entry := make([]float32, dlen)
v = append(v, entry)
}
column := NewColumnFloatVector(columnName, dim, v)
t.Run("test meta", func(t *testing.T) {
ft := entity.FieldTypeFloatVector
assert.Equal(t, "FloatVector", ft.Name())
assert.Equal(t, "[]float32", ft.String())
pbName, pbType := ft.PbFieldType()
assert.Equal(t, "[]float32", pbName)
assert.Equal(t, "", pbType)
})
t.Run("test column attribute", func(t *testing.T) {
assert.Equal(t, columnName, column.Name())
assert.Equal(t, entity.FieldTypeFloatVector, column.Type())
assert.Equal(t, columnLen, column.Len())
assert.Equal(t, dim, column.Dim())
assert.Equal(t, v, column.Data())
var ev []float32
err := column.AppendValue(ev)
assert.Equal(t, columnLen+1, column.Len())
assert.Nil(t, err)
err = column.AppendValue(struct{}{})
assert.Equal(t, columnLen+1, column.Len())
assert.NotNil(t, err)
})
t.Run("test column field data", func(t *testing.T) {
fd := column.FieldData()
assert.NotNil(t, fd)
assert.Equal(t, fd.GetFieldName(), columnName)
c, err := FieldDataVector(fd)
assert.NotNil(t, c)
assert.NoError(t, err)
})
t.Run("test column field data error", func(t *testing.T) {
fd := &schemapb.FieldData{
Type: schemapb.DataType_FloatVector,
FieldName: columnName,
}
_, err := FieldDataVector(fd)
assert.Error(t, err)
})
}
func TestColumnFloat16Vector(t *testing.T) {
rand.Seed(time.Now().UnixNano())
columnName := fmt.Sprintf("column_Float16Vector_%d", rand.Int())
columnLen := 12 + rand.Intn(10)
dim := ([]int{64, 128, 256, 512})[rand.Intn(4)]
v := make([][]byte, 0, columnLen)
dlen := dim
dlen *= 2
for i := 0; i < columnLen; i++ {
entry := make([]byte, dlen)
v = append(v, entry)
}
column := NewColumnFloat16Vector(columnName, dim, v)
t.Run("test meta", func(t *testing.T) {
ft := entity.FieldTypeFloat16Vector
assert.Equal(t, "Float16Vector", ft.Name())
assert.Equal(t, "[]byte", ft.String())
pbName, pbType := ft.PbFieldType()
assert.Equal(t, "[]byte", pbName)
assert.Equal(t, "", pbType)
})
t.Run("test column attribute", func(t *testing.T) {
assert.Equal(t, columnName, column.Name())
assert.Equal(t, entity.FieldTypeFloat16Vector, column.Type())
assert.Equal(t, columnLen, column.Len())
assert.Equal(t, dim, column.Dim())
assert.Equal(t, v, column.Data())
var ev []byte
err := column.AppendValue(ev)
assert.Equal(t, columnLen+1, column.Len())
assert.Nil(t, err)
err = column.AppendValue(struct{}{})
assert.Equal(t, columnLen+1, column.Len())
assert.NotNil(t, err)
})
t.Run("test column field data", func(t *testing.T) {
fd := column.FieldData()
assert.NotNil(t, fd)
assert.Equal(t, fd.GetFieldName(), columnName)
c, err := FieldDataVector(fd)
assert.NotNil(t, c)
assert.NoError(t, err)
})
t.Run("test column field data error", func(t *testing.T) {
fd := &schemapb.FieldData{
Type: schemapb.DataType_Float16Vector,
FieldName: columnName,
}
_, err := FieldDataVector(fd)
assert.Error(t, err)
})
}
func TestColumnBFloat16Vector(t *testing.T) {
rand.Seed(time.Now().UnixNano())
columnName := fmt.Sprintf("column_BFloat16Vector_%d", rand.Int())
columnLen := 12 + rand.Intn(10)
dim := ([]int{64, 128, 256, 512})[rand.Intn(4)]
v := make([][]byte, 0, columnLen)
dlen := dim
dlen *= 2
for i := 0; i < columnLen; i++ {
entry := make([]byte, dlen)
v = append(v, entry)
}
column := NewColumnBFloat16Vector(columnName, dim, v)
t.Run("test meta", func(t *testing.T) {
ft := entity.FieldTypeBFloat16Vector
assert.Equal(t, "BFloat16Vector", ft.Name())
assert.Equal(t, "[]byte", ft.String())
pbName, pbType := ft.PbFieldType()
assert.Equal(t, "[]byte", pbName)
assert.Equal(t, "", pbType)
})
t.Run("test column attribute", func(t *testing.T) {
assert.Equal(t, columnName, column.Name())
assert.Equal(t, entity.FieldTypeBFloat16Vector, column.Type())
assert.Equal(t, columnLen, column.Len())
assert.Equal(t, dim, column.Dim())
assert.Equal(t, v, column.Data())
var ev []byte
err := column.AppendValue(ev)
assert.Equal(t, columnLen+1, column.Len())
assert.Nil(t, err)
err = column.AppendValue(struct{}{})
assert.Equal(t, columnLen+1, column.Len())
assert.NotNil(t, err)
})
t.Run("test column field data", func(t *testing.T) {
fd := column.FieldData()
assert.NotNil(t, fd)
assert.Equal(t, fd.GetFieldName(), columnName)
c, err := FieldDataVector(fd)
assert.NotNil(t, c)
assert.NoError(t, err)
})
t.Run("test column field data error", func(t *testing.T) {
fd := &schemapb.FieldData{
Type: schemapb.DataType_BFloat16Vector,
FieldName: columnName,
}
_, err := FieldDataVector(fd)
assert.Error(t, err)
})
}