diff --git a/src/tests/markov_ketju_test.py b/src/tests/markov_ketju_test.py new file mode 100644 index 0000000..c83375a --- /dev/null +++ b/src/tests/markov_ketju_test.py @@ -0,0 +1,36 @@ +import unittest +from markov_ketju import MarkovKetju + +class TestMarkovKetju(unittest.TestCase): + def test_seuraava_1_aste(self): + ketju = MarkovKetju(1) + opetusdata = ["ABCDEA"] + ketju.kasittele_opetusdata(opetusdata) + ketju.aseta_alkuosa("E") + + self.assertEqual("A", ketju.seuraava()) + self.assertEqual("B", ketju.seuraava()) + self.assertEqual("C", ketju.seuraava()) + self.assertEqual("D", ketju.seuraava()) + self.assertEqual("E", ketju.seuraava()) + self.assertEqual("A", ketju.seuraava()) + + ketju.aseta_alkuosa("F") + self.assertFalse(ketju.seuraava()) + + def test_seuraava_2_aste(self): + ketju = MarkovKetju(2) + opetusdata = ["ABCDEAB", "F"] + ketju.kasittele_opetusdata(opetusdata) + ketju.aseta_alkuosa("DE") + + self.assertEqual("A", ketju.seuraava()) + self.assertEqual("B", ketju.seuraava()) + self.assertEqual("C", ketju.seuraava()) + self.assertEqual("D", ketju.seuraava()) + self.assertEqual("E", ketju.seuraava()) + self.assertEqual("A", ketju.seuraava()) + + self.assertRaises(ValueError, ketju.aseta_alkuosa, "F") + ketju.aseta_alkuosa("EF") + self.assertFalse(ketju.seuraava()) diff --git a/src/tests/trie_test.py b/src/tests/trie_test.py index da29ce9..ed8dce9 100644 --- a/src/tests/trie_test.py +++ b/src/tests/trie_test.py @@ -21,7 +21,7 @@ class TestTrie(unittest.TestCase): self.assertEqual(2, self.trie.juuri.lapset["A"].lapset["B"].laskuri) def test_etsi_seuraavat(self): - self.assertFalse(self.trie.etsi_seuraavat("AB")) + self.assertFalse(self.trie.etsi_seuraavat("AB")[0]) self.trie.lisaa("ABC") self.trie.lisaa("ABC") self.assertEqual(self.trie.etsi_seuraavat("AB"), ([1], ["C"]))