49 lines
1.1 KiB
Python
49 lines
1.1 KiB
Python
"""
|
|
Sparse Vectors module tests
|
|
"""
|
|
|
|
import unittest
|
|
|
|
from txtai.vectors import SparseVectors, SparseVectorsFactory
|
|
|
|
|
|
class TestSparseVectors(unittest.TestCase):
|
|
"""
|
|
Sparse Vectors tests.
|
|
"""
|
|
|
|
def testCustom(self):
|
|
"""
|
|
Test custom sparse vectors instance
|
|
"""
|
|
|
|
self.assertIsNotNone(
|
|
SparseVectorsFactory.create({"method": "txtai.vectors.SparseSTVectors", "path": "sparse-encoder-testing/splade-bert-tiny-nq"})
|
|
)
|
|
|
|
def testDefaultNormalize(self):
|
|
"""
|
|
Test defaultnormalize method
|
|
"""
|
|
|
|
vectors = SparseVectors(None, None, None)
|
|
self.assertFalse(vectors.defaultnormalize())
|
|
|
|
def testNotSupported(self):
|
|
"""
|
|
Test exceptions for unsupported methods
|
|
"""
|
|
|
|
vectors = SparseVectors(None, None, None)
|
|
|
|
self.assertRaises(ValueError, vectors.truncate, None)
|
|
self.assertRaises(ValueError, vectors.quantize, None)
|
|
|
|
def testNotFound(self):
|
|
"""
|
|
Test unresolvable vector backend
|
|
"""
|
|
|
|
with self.assertRaises(ImportError):
|
|
SparseVectorsFactory.create({"method": "notfound.vectors"})
|