1
0
This commit is contained in:
2025-12-16 21:28:53 +08:00
parent 59c243b578
commit 61c4cb61ee
37 changed files with 428 additions and 207 deletions

View File

@@ -19,5 +19,5 @@ class TestBasePuzzle(unittest.TestCase):
self.assertEqual(str(puzzle), "谜题: BasePuzzle")
if __name__ == '__main__':
unittest.main()
if __name__ == "__main__":
unittest.main()

View File

@@ -16,13 +16,13 @@ class TestClozePuzzle(unittest.TestCase):
self.assertEqual(puzzle.wording, "填空题 - 尚未刷新谜题")
self.assertEqual(puzzle.answer, ["填空题 - 尚未刷新谜题"])
@patch('random.sample')
@patch("random.sample")
def test_refresh(self, mock_sample):
"""测试 refresh 方法"""
mock_sample.return_value = [0, 2] # 选择索引 0 和 2
puzzle = ClozePuzzle("hello/world/test", min_denominator=2, delimiter="/")
puzzle.refresh()
# 检查 wording 和 answer
self.assertNotEqual(puzzle.wording, "填空题 - 尚未刷新谜题")
self.assertNotEqual(puzzle.answer, ["填空题 - 尚未刷新谜题"])
@@ -47,5 +47,5 @@ class TestClozePuzzle(unittest.TestCase):
self.assertIn("填空题 - 尚未刷新谜题", str_repr)
if __name__ == '__main__':
unittest.main()
if __name__ == "__main__":
unittest.main()

View File

@@ -38,8 +38,8 @@ class TestMCQPuzzle(unittest.TestCase):
self.assertEqual(len(puzzle.jammer), 4)
self.assertEqual(set(puzzle.jammer), {" "}) # 三个空格?实际上循环填充空格
@patch('random.sample')
@patch('random.shuffle')
@patch("random.sample")
@patch("random.shuffle")
def test_refresh(self, mock_shuffle, mock_sample):
"""测试 refresh 方法生成题目"""
mapping = {"q1": "a1", "q2": "a2", "q3": "a3"}
@@ -51,7 +51,7 @@ class TestMCQPuzzle(unittest.TestCase):
["j1", "j2", "j3"], # 为每个问题选择干扰项(实际调用两次)
]
puzzle.refresh()
# 检查 wording 是列表
self.assertIsInstance(puzzle.wording, list)
self.assertEqual(len(puzzle.wording), 2)
@@ -110,7 +110,7 @@ class TestMCQPuzzle(unittest.TestCase):
puzzle.answer = ["选择题 - 尚未刷新谜题"]
self.assertIn("选择题 - 尚未刷新谜题", str(puzzle))
self.assertIn("正确答案", str(puzzle))
puzzle.wording = ["Q1", "Q2"]
puzzle.answer = ["A1", "A2"]
str_repr = str(puzzle)
@@ -118,5 +118,5 @@ class TestMCQPuzzle(unittest.TestCase):
self.assertIn("A1, A2", str_repr)
if __name__ == '__main__':
unittest.main()
if __name__ == "__main__":
unittest.main()