diff --git a/src/tests/trie_test.py b/src/tests/trie_test.py index dc2fd2c..da29ce9 100644 --- a/src/tests/trie_test.py +++ b/src/tests/trie_test.py @@ -24,8 +24,13 @@ class TestTrie(unittest.TestCase): self.assertFalse(self.trie.etsi_seuraavat("AB")) self.trie.lisaa("ABC") self.trie.lisaa("ABC") - self.assertEqual(self.trie.etsi_seuraavat("AB"), [(1, "C")]) + self.assertEqual(self.trie.etsi_seuraavat("AB"), ([1], ["C"])) self.trie.lisaa("ABC") self.trie.lisaa("ABD") - self.assertEqual(self.trie.etsi_seuraavat("AB"), [(0.75, "C"), (0.25, "D")]) - self.assertEqual(self.trie.etsi_seuraavat("AB"), [(0.75, "C"), (0.25, "D")]) + + todennakoisyydet, merkit = self.trie.etsi_seuraavat("AB") + #Tällä saadaan järjestetty lista merkkejä ja todennäköisyyksiä, joka helpottaa testaamista + lista = sorted(zip(todennakoisyydet, merkit), reverse=True) + self.assertEqual(lista, [(0.75, "C"), (0.25, "D")]) + + todennakoisyydet, merkit = self.trie.etsi_seuraavat("AB") diff --git a/src/trie.py b/src/trie.py index 3cf8a37..573444f 100644 --- a/src/trie.py +++ b/src/trie.py @@ -63,7 +63,7 @@ class Trie: def etsi_seuraavat(self, alkuosa): """Etsi alkuosaan sopivat viimeiset merkit ja niiden todennäköisyydet. - Palauttaa listan tupleja (tod., merkki) järjestettynä todennäköisyyden mukaan. + Palauttaa tuplen listoja (tod., merkit). """ #Funktion sisällä tarkistetaan onko laskenta tarpeellista @@ -77,8 +77,11 @@ class Trie: return [] solmu = solmu.lapset[merkki] - #Listaa kaikki alkuosan lapset todennäköisyyden mukaisessa järjestyksessä - vaihtoehdot = [] + #Listaa kaikki alkuosan lapset + todennakoisyydet = [] + merkit = [] + for merkki, lapsi in solmu.lapset.items(): - vaihtoehdot.append((lapsi.todennakoisyys, merkki)) - return sorted(vaihtoehdot, reverse=True) + todennakoisyydet.append(lapsi.todennakoisyys) + merkit.append(merkki) + return (todennakoisyydet, merkit)