Spaces:
Running
Running
Fix loopy submission format and pattern layout
Browse files- tests/test_core.py +39 -17
tests/test_core.py
CHANGED
|
@@ -67,33 +67,55 @@ class CoreTests(unittest.TestCase):
|
|
| 67 |
def test_loopy_normalization_marks_unclicked_edges_blocked(self) -> None:
|
| 68 |
problem = "\n".join(
|
| 69 |
[
|
| 70 |
-
"+++++++",
|
| 71 |
-
"+
|
| 72 |
-
"+
|
| 73 |
-
"+
|
| 74 |
-
"+
|
| 75 |
-
"+
|
| 76 |
-
"++
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
]
|
| 78 |
)
|
| 79 |
partial = "\n".join(
|
| 80 |
[
|
| 81 |
-
"+++++++",
|
| 82 |
-
"+
|
| 83 |
-
"+
|
| 84 |
-
"+
|
| 85 |
-
"+
|
| 86 |
-
"+
|
| 87 |
-
"++
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
]
|
| 89 |
)
|
| 90 |
-
|
| 91 |
puzzle_type="loopy",
|
| 92 |
problem_ascii=problem,
|
| 93 |
board_ascii=partial,
|
| 94 |
)
|
| 95 |
-
self.
|
| 96 |
-
self.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 97 |
|
| 98 |
def test_pattern_normalization_makes_unclicked_cells_white(self) -> None:
|
| 99 |
board = "\n".join(
|
|
|
|
| 67 |
def test_loopy_normalization_marks_unclicked_edges_blocked(self) -> None:
|
| 68 |
problem = "\n".join(
|
| 69 |
[
|
| 70 |
+
"+++++++++++++",
|
| 71 |
+
"+ +",
|
| 72 |
+
"+ 0 +",
|
| 73 |
+
"+ +",
|
| 74 |
+
"+ 2 1 3 2 +",
|
| 75 |
+
"+ +",
|
| 76 |
+
"+ 2 3 +",
|
| 77 |
+
"+ +",
|
| 78 |
+
"+ 2 2 +",
|
| 79 |
+
"+ +",
|
| 80 |
+
"+ 3 2 3 +",
|
| 81 |
+
"+ +",
|
| 82 |
+
"+++++++++++++",
|
| 83 |
]
|
| 84 |
)
|
| 85 |
partial = "\n".join(
|
| 86 |
[
|
| 87 |
+
"+++++++++++++",
|
| 88 |
+
"+ - +",
|
| 89 |
+
"+ 0 +",
|
| 90 |
+
"+ +",
|
| 91 |
+
"+ 2 1 3 2 +",
|
| 92 |
+
"+ +",
|
| 93 |
+
"+ 2 3 +",
|
| 94 |
+
"+ +",
|
| 95 |
+
"+ 2 2 +",
|
| 96 |
+
"+ +",
|
| 97 |
+
"+ 3 2 3 +",
|
| 98 |
+
"+ +",
|
| 99 |
+
"+++++++++++++",
|
| 100 |
]
|
| 101 |
)
|
| 102 |
+
normalized_submission = normalize_board_for_submission(
|
| 103 |
puzzle_type="loopy",
|
| 104 |
problem_ascii=problem,
|
| 105 |
board_ascii=partial,
|
| 106 |
)
|
| 107 |
+
self.assertEqual(len(normalized_submission.splitlines()), 11)
|
| 108 |
+
self.assertTrue(all(len(line) == 11 for line in normalized_submission.splitlines()))
|
| 109 |
+
self.assertIn("x", normalized_submission)
|
| 110 |
+
self.assertIn("-", normalized_submission)
|
| 111 |
+
|
| 112 |
+
redisplayed = normalize_board_for_display(
|
| 113 |
+
puzzle_type="loopy",
|
| 114 |
+
problem_ascii=problem,
|
| 115 |
+
board_ascii=normalized_submission,
|
| 116 |
+
)
|
| 117 |
+
self.assertEqual(len(redisplayed.splitlines()), 13)
|
| 118 |
+
self.assertIn("+", redisplayed)
|
| 119 |
|
| 120 |
def test_pattern_normalization_makes_unclicked_cells_white(self) -> None:
|
| 121 |
board = "\n".join(
|