diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/plans/basic.fmf b/plans/basic.fmf new file mode 100644 index 0000000..c1627f9 --- /dev/null +++ b/plans/basic.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..9b4094d --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,6 @@ +require: +- libvoikko +- voikko-tools +- python3-libvoikko +test: python3 test_libvoikko.py -v +framework: shell diff --git a/tests/test_libvoikko.py b/tests/test_libvoikko.py new file mode 100644 index 0000000..1f1a0cc --- /dev/null +++ b/tests/test_libvoikko.py @@ -0,0 +1,49 @@ +import unittest +import sys +import subprocess +import libvoikko + +class TestLibvoikko(unittest.TestCase): + + def test_dummy(self): + self.assertEqual(True, True) + + @unittest.expectedFailure + def test_expected_failure(self): + self.assertEqual(False, True) + + def test_spell(self): + voikko = libvoikko.Voikko('fi') + self.assertEqual(voikko.spell('kissa'), True) + self.assertEqual(voikko.spell('kisssa'), False) + + def test_suggest(self): + voikko = libvoikko.Voikko('fi') + self.assertEqual( + voikko.suggest('kisssa'), + ['kissa', 'kissaa', 'kisassa', 'kisussa', 'Kiassa']) + + def test_voikkospell(self): + cp = subprocess.run(['echo kissa | voikkospell'], encoding='UTF-8', text=True, shell=True, capture_output=True) + self.assertEqual(cp.stdout, 'C: kissa\n') + self.assertEqual(cp.stderr, '') + self.assertEqual(cp.returncode, 0) + cp = subprocess.run(['echo kisssa | voikkospell'], encoding='UTF-8', text=True, shell=True, capture_output=True) + self.assertEqual(cp.stdout, 'W: kisssa\n') + self.assertEqual(cp.stderr, '') + self.assertEqual(cp.returncode, 0) + + def test_voikkohyphenate(self): + cp = subprocess.run(['echo kissa | voikkohyphenate'], encoding='UTF-8', text=True, shell=True, capture_output=True) + self.assertEqual(cp.stdout, 'kis-sa\n') + self.assertEqual(cp.stderr, '') + self.assertEqual(cp.returncode, 0) + + def test_voikkogc_tokenize(self): + cp = subprocess.run(['echo "kissa." | voikkogc --tokenize'], encoding='UTF-8', text=True, shell=True, capture_output=True) + self.assertEqual(cp.stdout, 'W: "kissa"\nP: "."\n') + self.assertEqual(cp.stderr, '') + self.assertEqual(cp.returncode, 0) + +if __name__ == "__main__": + unittest.main()