Fix constraints bug.
Add constraints unittests. Update invalid words.
This commit is contained in:
1 parent
17c8aefbed
commit
b09adf488f
4 files changed
+101
-25
No files matched your search
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
|
||||
import wordle
|
||||
|
||||
from wordle import LetterResult
|
||||
|
||||
import unittest
|
||||
|
||||
|
||||
class TestConstraints(unittest.TestCase):
|
||||
|
||||
def test_empty(self):
|
||||
constraints = wordle.Constraints()
|
||||
self.assertTrue(constraints.matches('abcde'))
|
||||
self.assertTrue(constraints.matches('bcdef'))
|
||||
|
||||
def test_correct_single(self):
|
||||
constraints = wordle.Constraints()
|
||||
constraints.update_graded('abcde', [LetterResult.CORRECT, LetterResult.INCORRECT, LetterResult.INCORRECT, LetterResult.INCORRECT, LetterResult.INCORRECT])
|
||||
|
||||
self.assertTrue(constraints.matches('amnop'))
|
||||
self.assertTrue(constraints.matches('aaaaa'))
|
||||
|
||||
self.assertFalse(constraints.matches('abcde'))
|
||||
self.assertFalse(constraints.matches('lmnop'))
|
||||
self.assertFalse(constraints.matches('aedcb'))
|
||||
self.assertFalse(constraints.matches('amnob'))
|
||||
|
||||
def test_correct_duplicate_letter(self):
|
||||
constraints = wordle.Constraints()
|
||||
constraints.update_graded('aazzz', [LetterResult.CORRECT, LetterResult.INCORRECT, LetterResult.INCORRECT, LetterResult.INCORRECT, LetterResult.INCORRECT])
|
||||
|
||||
self.assertTrue(constraints.matches('abcde'))
|
||||
self.assertTrue(constraints.matches('abbbb'))
|
||||
|
||||
self.assertFalse(constraints.matches('aabbb'))
|
||||
self.assertFalse(constraints.matches('abbba'))
|
||||
self.assertFalse(constraints.matches('bbbbb'))
|
||||
self.assertFalse(constraints.matches('bbbba'))
|
||||
self.assertFalse(constraints.matches('babbb'))
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user