@@ -208,89 +208,35 @@ def test_chinese_and_mixed_language(self):
208208 "数据科学" in doc .page_content for doc in cn_results
209209 )
210210
211- def test_similarity_search_by_vector (self , simple_store ):
212- """Test similarity_search_by_vector method."""
213- # Test with dummy embedding vector
214- dummy_embedding = [0.1 , 0.2 , 0.3 , 0.4 , 0.5 ]
215- results = simple_store .similarity_search_by_vector (dummy_embedding , k = 2 )
216-
217- assert len (results ) == 2
218- assert all (hasattr (doc , "page_content" ) for doc in results )
219-
220- # Test k parameter bounds
221- results = simple_store .similarity_search_by_vector (dummy_embedding , k = 10 )
222- assert len (results ) == 4 # Should return all documents
223-
224- # Test empty store
225- empty_store = SimpleStore ([])
226- results = empty_store .similarity_search_by_vector (dummy_embedding , k = 5 )
227- assert results == []
228-
229- def test_max_marginal_relevance_search_by_vector (self , simple_store ):
230- """Test max_marginal_relevance_search_by_vector method."""
231- dummy_embedding = [0.1 , 0.2 , 0.3 , 0.4 , 0.5 ]
232-
233- # Test basic functionality
234- results = simple_store .max_marginal_relevance_search_by_vector (
235- dummy_embedding , k = 2 , fetch_k = 4 , lambda_mult = 0.5
236- )
237- assert len (results ) == 2
238- assert all (hasattr (doc , "page_content" ) for doc in results )
239-
240- # Test with k >= fetch_k
241- results = simple_store .max_marginal_relevance_search_by_vector (
242- dummy_embedding , k = 4 , fetch_k = 3
243- )
244- assert len (results ) == 3 # Should return fetch_k documents
245-
246- # Test diversity (lambda_mult = 0 should prioritize diversity)
247- results_diverse = simple_store .max_marginal_relevance_search_by_vector (
248- dummy_embedding , k = 2 , fetch_k = 4 , lambda_mult = 0.0
249- )
250- assert len (results_diverse ) == 2
251-
252- # Test empty store
253- empty_store = SimpleStore ([])
254- results = empty_store .max_marginal_relevance_search_by_vector (dummy_embedding , k = 2 )
255- assert results == []
256-
257211 def test_max_marginal_relevance_search (self , simple_store ):
258212 """Test max_marginal_relevance_search method."""
259213 query = "programming language"
260-
214+
261215 # Test basic MMR search
262- results = simple_store .max_marginal_relevance_search (
263- query , k = 2 , fetch_k = 4 , lambda_mult = 0.5
264- )
216+ results = simple_store .max_marginal_relevance_search (query , k = 2 , fetch_k = 4 , lambda_mult = 0.5 )
265217 assert len (results ) == 2
266218 assert all (hasattr (doc , "page_content" ) for doc in results )
267-
219+
268220 # Test relevance-focused search (lambda_mult = 1.0)
269- results_relevant = simple_store .max_marginal_relevance_search (
270- query , k = 3 , fetch_k = 4 , lambda_mult = 1.0
271- )
221+ results_relevant = simple_store .max_marginal_relevance_search (query , k = 3 , fetch_k = 4 , lambda_mult = 1.0 )
272222 assert len (results_relevant ) == 3
273-
223+
274224 # Test diversity-focused search (lambda_mult = 0.0)
275- results_diverse = simple_store .max_marginal_relevance_search (
276- query , k = 3 , fetch_k = 4 , lambda_mult = 0.0
277- )
225+ results_diverse = simple_store .max_marginal_relevance_search (query , k = 3 , fetch_k = 4 , lambda_mult = 0.0 )
278226 assert len (results_diverse ) == 3
279-
227+
280228 # Verify different lambda values produce different results
281229 # (unless there are ties in scoring)
282230 assert len (results_relevant ) == len (results_diverse )
283-
231+
284232 # Test with k >= fetch_k
285- results = simple_store .max_marginal_relevance_search (
286- query , k = 5 , fetch_k = 3 , lambda_mult = 0.5
287- )
233+ results = simple_store .max_marginal_relevance_search (query , k = 5 , fetch_k = 3 , lambda_mult = 0.5 )
288234 assert len (results ) == 3 # Should return fetch_k documents
289-
235+
290236 # Test empty query
291237 results = simple_store .max_marginal_relevance_search ("" , k = 2 )
292238 assert len (results ) <= 2
293-
239+
294240 # Test empty store
295241 empty_store = SimpleStore ([])
296242 results = empty_store .max_marginal_relevance_search (query , k = 2 )
@@ -302,17 +248,18 @@ def test_calculate_similarity(self, simple_store):
302248 doc1 = simple_store .documents [0 ] # "Python is a programming language"
303249 doc2 = simple_store .documents [1 ] # "Machine learning is a subset of AI"
304250 doc3 = simple_store .documents [0 ] # Same as doc1
305-
251+
306252 # Test similarity between different documents
307253 similarity_diff = simple_store ._calculate_similarity (doc1 , doc2 )
308254 assert 0.0 <= similarity_diff <= 1.0
309-
255+
310256 # Test similarity between identical documents
311257 similarity_same = simple_store ._calculate_similarity (doc1 , doc3 )
312258 assert similarity_same == 1.0
313-
259+
314260 # Test with empty documents
315261 from langchain_core .documents import Document
262+
316263 empty_doc1 = Document (page_content = "" , metadata = {})
317264 empty_doc2 = Document (page_content = "" , metadata = {})
318265 similarity_empty = simple_store ._calculate_similarity (empty_doc1 , empty_doc2 )
0 commit comments