cropping summaries
This commit is contained in:
@@ -49,6 +49,8 @@ class CropExerciseBottomsCommandTests(unittest.TestCase):
|
||||
0,
|
||||
)
|
||||
self.assertIn("1 PDF remplacé", log.getvalue())
|
||||
self.assertIn("1 exercice(s) rogné(s)", log.getvalue())
|
||||
self.assertIn("Rognage moyen des exercices modifiés", log.getvalue())
|
||||
with pymupdf.open(self.large) as cropped:
|
||||
self.assertLess(cropped[0].rect.height, 250)
|
||||
self.assertEqual(self.short.read_bytes(), self.short_original)
|
||||
@@ -68,6 +70,37 @@ class CropExerciseBottomsCommandTests(unittest.TestCase):
|
||||
)
|
||||
self.assertTrue((backups[0].parents[2] / "report.json").is_file())
|
||||
|
||||
def test_crop_statistics_average_percentages_by_exercise(self):
|
||||
records = [
|
||||
{
|
||||
"file": "Copies/Copie01/Ex 1.pdf",
|
||||
"height_lines": 10.0,
|
||||
"bottom_removed_lines": 4.0,
|
||||
"status": "cropped",
|
||||
},
|
||||
{
|
||||
"file": "Copies/Copie01/Ex 1.pdf",
|
||||
"height_lines": 10.0,
|
||||
"bottom_removed_lines": 0.0,
|
||||
"status": "skipped-short",
|
||||
},
|
||||
{
|
||||
"file": "Copies/Copie01/Ex 2.pdf",
|
||||
"height_lines": 10.0,
|
||||
"bottom_removed_lines": 5.0,
|
||||
"status": "cropped",
|
||||
},
|
||||
{
|
||||
"file": "Copies/Copie01/Ex 3.pdf",
|
||||
"height_lines": 10.0,
|
||||
"bottom_removed_lines": 0.0,
|
||||
"status": "unchanged-small-crop",
|
||||
},
|
||||
]
|
||||
count, average = crop_exercise_bottoms.crop_statistics(records)
|
||||
self.assertEqual(count, 2)
|
||||
self.assertAlmostEqual(average, 35.0)
|
||||
|
||||
def test_detection_failure_does_not_publish_an_earlier_result(self):
|
||||
broken = self.answers / "Ex 3.pdf"
|
||||
broken.write_bytes(b"not a PDF")
|
||||
|
||||
Reference in New Issue
Block a user