@@ -31,14 +31,15 @@ describe('VSIM', () => {
31
31
FILTER : '.price > 20' ,
32
32
'FILTER-EF' : 50 ,
33
33
TRUTH : true ,
34
- NOTHREAD : true
34
+ NOTHREAD : true ,
35
+ EPSILON : 0.1
35
36
} ) ;
36
37
assert . deepEqual (
37
38
parser . redisArgs ,
38
39
[
39
- 'VSIM' , 'key' , 'ELE' , 'element' ,
40
- 'COUNT ' , '5 ' , 'EF' , '100' , 'FILTER' , '.price > 20' ,
41
- 'FILTER-EF' , '50' , 'TRUTH' , 'NOTHREAD'
40
+ 'VSIM' , 'key' , 'ELE' , 'element' , 'COUNT' , '5' ,
41
+ 'EPSILON ' , '0.1 ' , 'EF' , '100' , 'FILTER' , '.price > 20' ,
42
+ 'FILTER-EF' , '50' , 'TRUTH' , 'NOTHREAD' ,
42
43
]
43
44
) ;
44
45
} ) ;
@@ -56,6 +57,27 @@ describe('VSIM', () => {
56
57
cluster : { ...GLOBAL . CLUSTERS . OPEN , minimumDockerVersion : [ 8 , 0 ] }
57
58
} ) ;
58
59
60
+
61
+ testUtils . testAll ( 'vSim with options' , async client => {
62
+ await client . vAdd ( 'key' , [ 1.0 , 2.0 , 3.0 ] , 'element1' ) ;
63
+ await client . vAdd ( 'key' , [ 1.1 , 2.1 , 3.1 ] , 'element2' ) ;
64
+
65
+ const result = await client . vSim ( 'key' , 'element1' , {
66
+ EPSILON : 0.1 ,
67
+ COUNT : 1 ,
68
+ EF : 100 ,
69
+ FILTER : '.year == 8' ,
70
+ 'FILTER-EF' : 50 ,
71
+ TRUTH : true ,
72
+ NOTHREAD : true
73
+ } ) ;
74
+
75
+ assert . ok ( Array . isArray ( result ) ) ;
76
+ } , {
77
+ client : { ...GLOBAL . SERVERS . OPEN , minimumDockerVersion : [ 8 , 0 ] } ,
78
+ cluster : { ...GLOBAL . CLUSTERS . OPEN , minimumDockerVersion : [ 8 , 0 ] }
79
+ } ) ;
80
+
59
81
testUtils . testWithClient ( 'vSim with RESP3' , async client => {
60
82
await client . vAdd ( 'resp3-key' , [ 1.0 , 2.0 , 3.0 ] , 'element1' ) ;
61
83
await client . vAdd ( 'resp3-key' , [ 1.1 , 2.1 , 3.1 ] , 'element2' ) ;
0 commit comments