import os import sys # Probably a better way: sys.path.append(os.path.abspath('../scripts')) from memory.local import LocalCache def MockConfig(): return type('MockConfig', (object,), { 'debug_mode': False, 'continuous_mode': False, 'speak_mode': False, 'memory_index': 'auto-gpt', }) class TestLocalCache(unittest.TestCase): def setUp(self): self.cfg = MockConfig() self.cache = LocalCache(self.cfg) def test_add(self): text = "Sample text" self.cache.add(text) self.assertIn(text, self.cache.data.texts) def test_clear(self): self.cache.clear() self.assertEqual(self.cache.data, [""]) def test_get(self): text = "Sample text" self.cache.add(text) result = self.cache.get(text) self.assertEqual(result, [text]) def test_get_relevant(self): text1 = "Sample text 1" text2 = "Sample text 2" self.cache.add(text1) self.cache.add(text2) result = self.cache.get_relevant(text1, 1) self.assertEqual(result, [text1]) def test_get_stats(self): text = "Sample text" self.cache.add(text) stats = self.cache.get_stats() self.assertEqual(stats, (1, self.cache.data.embeddings.shape)) if __name__ == '__main__': unittest.main()