Skip to content

Commit 5f1bc94

Browse files
committed
add test cases for dot product for constant vector
1 parent efef2ea commit 5f1bc94

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

query/vector/vector_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -815,3 +815,33 @@ func TestGetVector(t *testing.T) {
815815
}`
816816
require.JSONEq(t, k, js)
817817
}
818+
819+
func TestDotProductWithConstantVector(t *testing.T) {
820+
setSchema("vec452 : float32vector .")
821+
822+
rdfs := `
823+
<1> <vec452> "[1.0, 1.0, 2.0, 2.0]" .
824+
<2> <vec452> "[2.0, 1.0, 2.0, 2.0]" .`
825+
require.NoError(t, addTriplesToCluster(rdfs))
826+
827+
query := `query q($vec: float32vector) {
828+
q(func: has(vec452)) {
829+
v1 as vec452
830+
distance: Math(v1 dot $vec)
831+
}
832+
}`
833+
js, err := processQueryWithVars(t, query, map[string]string{"$vec": "[1.0, 1.0, 2.0, 2.0]"})
834+
require.NoError(t, err)
835+
k := `{"data":{"q":[{"vec452":[1,1,2,2],"distance":10},{"vec452":[2,1,2,2],"distance":11}]}}`
836+
require.JSONEq(t, k, js)
837+
838+
query = `{
839+
q(func: has(vec452)) {
840+
v1 as vec452
841+
distance: Math(v1 dot v1)
842+
}
843+
}`
844+
require.JSONEq(t,
845+
`{"data":{"q":[{"vec452":[1,1,2,2],"distance":10},{"vec452":[2,1,2,2],"distance":13}]} }`,
846+
processQueryNoErr(t, query))
847+
}

0 commit comments

Comments
 (0)