Fix constraints bug.

Add constraints unittests.
Update invalid words.
This commit is contained in:
dongar committed 2023-04-18 05:22:35 -05:00
1 parent 17c8aefbed
commit b09adf488f
4 files changed
+101 -25

No files matched your search

+47
View File
@@ -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()