""" 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"})