From b4a734fc0d6051c587239cf9adac351f71287a66 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Thu, 23 Jun 2016 13:21:26 -0700 Subject: [PATCH] Test case for "algorithm 4" test Algorithm 4 -> PDF version 1.6 --- tests/resources/encrypted_algo4.pdf | Bin 0 -> 23966 bytes tests/test_main.py | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 tests/resources/encrypted_algo4.pdf diff --git a/tests/resources/encrypted_algo4.pdf b/tests/resources/encrypted_algo4.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bc21948a75db91b8562e88109207bc35f1fedef6 GIT binary patch literal 23966 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