Files
semantica/tests/normalize/test_language_detector.py
T
KaifAhmad1 58707ff721 fix(kg): resolve 'unhashable type: Entity' in GraphAnalyzer #159
- Robust ID extraction in CentralityCalculator, CommunityDetector, and ConnectivityAnalyzer
- Support for direct Entity objects and dictionaries as node identifiers
- Improved Entity hashability in utils/types.py
- Added integration test to verify fix and prevent regression
2026-01-08 17:23:31 +05:30

32 lines
1.2 KiB
Python

import unittest
from semantica.normalize.language_detector import LanguageDetector
class TestLanguageDetector(unittest.TestCase):
def setUp(self):
self.detector = LanguageDetector()
def test_detect_language(self):
# English
self.assertEqual(self.detector.detect("This is a simple English sentence."), "en")
# French
self.assertEqual(self.detector.detect("Ceci est une phrase française simple."), "fr")
# German
self.assertEqual(self.detector.detect("Dies ist ein einfacher deutscher Satz."), "de")
def test_detect_short_text(self):
# Should return default for very short text
self.assertEqual(self.detector.detect("Hi"), "en")
def test_detect_with_confidence(self):
lang, conf = self.detector.detect_with_confidence("This is definitely an English sentence.")
self.assertEqual(lang, "en")
self.assertGreater(conf, 0.5)
def test_get_language_name(self):
self.assertEqual(self.detector.get_language_name("en"), "English")
self.assertEqual(self.detector.get_language_name("fr"), "French")
self.assertEqual(self.detector.get_language_name("xx"), "XX")
if __name__ == "__main__":
unittest.main()