@@ -164,40 +164,36 @@ def test_where(self):
164
164
assert [v .id for v in items ] == [1 ]
165
165
166
166
def test_vector_avg (self ):
167
- avg = Item .select (fn .avg (Item .embedding )).scalar ()
167
+ avg = Item .select (fn .avg (Item .embedding ). coerce ( True ) ).scalar ()
168
168
assert avg is None
169
169
Item .create (embedding = [1 , 2 , 3 ])
170
170
Item .create (embedding = [4 , 5 , 6 ])
171
- avg = Item .select (fn .avg (Item .embedding )).scalar ()
172
- # does not type cast
173
- assert avg == '[2.5,3.5,4.5]'
171
+ avg = Item .select (fn .avg (Item .embedding ).coerce (True )).scalar ()
172
+ assert np .array_equal (avg , np .array ([2.5 , 3.5 , 4.5 ]))
174
173
175
174
def test_vector_sum (self ):
176
- sum = Item .select (fn .sum (Item .embedding )).scalar ()
175
+ sum = Item .select (fn .sum (Item .embedding ). coerce ( True ) ).scalar ()
177
176
assert sum is None
178
177
Item .create (embedding = [1 , 2 , 3 ])
179
178
Item .create (embedding = [4 , 5 , 6 ])
180
- sum = Item .select (fn .sum (Item .embedding )).scalar ()
181
- # does not type cast
182
- assert sum == '[5,7,9]'
179
+ sum = Item .select (fn .sum (Item .embedding ).coerce (True )).scalar ()
180
+ assert np .array_equal (sum , np .array ([5 , 7 , 9 ]))
183
181
184
182
def test_halfvec_avg (self ):
185
- avg = Item .select (fn .avg (Item .half_embedding )).scalar ()
183
+ avg = Item .select (fn .avg (Item .half_embedding ). coerce ( True ) ).scalar ()
186
184
assert avg is None
187
185
Item .create (half_embedding = [1 , 2 , 3 ])
188
186
Item .create (half_embedding = [4 , 5 , 6 ])
189
- avg = Item .select (fn .avg (Item .half_embedding )).scalar ()
190
- # does not type cast
191
- assert avg == '[2.5,3.5,4.5]'
187
+ avg = Item .select (fn .avg (Item .half_embedding ).coerce (True )).scalar ()
188
+ assert avg .to_list () == [2.5 , 3.5 , 4.5 ]
192
189
193
190
def test_halfvec_sum (self ):
194
- sum = Item .select (fn .sum (Item .half_embedding )).scalar ()
191
+ sum = Item .select (fn .sum (Item .half_embedding ). coerce ( True ) ).scalar ()
195
192
assert sum is None
196
193
Item .create (half_embedding = [1 , 2 , 3 ])
197
194
Item .create (half_embedding = [4 , 5 , 6 ])
198
- sum = Item .select (fn .sum (Item .half_embedding )).scalar ()
199
- # does not type cast
200
- assert sum == '[5,7,9]'
195
+ sum = Item .select (fn .sum (Item .half_embedding ).coerce (True )).scalar ()
196
+ assert sum .to_list () == [5 , 7 , 9 ]
201
197
202
198
def test_get_or_create (self ):
203
199
Item .get_or_create (id = 1 , defaults = {'embedding' : [1 , 2 , 3 ]})
0 commit comments