import unittest from math_problems_structure.grade_1 import join_pictures_with_quantity class JoinPicturesWithQuantityTest(unittest.TestCase): def test_creates_problem(self) -> None: problem = join_pictures_with_quantity( available_pictures=[ { "id": f"picture-{index}", "name": f"Picture {index}", "image_path": f"/images/{index}.png", } for index in range(10) ], seed=1, ) self.assertEqual( problem["instructions"], "Cuenta las imágenes y une cada grupo con el número correcto.", ) self.assertEqual(len(problem["left_containers"]), 5) self.assertEqual(len(problem["number_cards"]), 5) self.assertEqual(len(problem["right_containers"]), 5) def test_raises_for_too_few_pictures(self) -> None: with self.assertRaisesRegex( ValueError, "available_pictures must contain at least 10 pictures", ): join_pictures_with_quantity( available_pictures=[ { "id": "picture-1", "name": "Picture 1", "image_path": "/images/1.png", } ] ) if __name__ == "__main__": unittest.main()