	@Test
	public void parseCodebookPdf() throws IOException {

		for (SupportedCodebook supportedCodebook : SupportedCodebook.values()) {
			LOGGER.info("Looking for sections in codebook: {}", supportedCodebook.name());

			Codebook codebook = PdfParser.parseCodebookPdf(supportedCodebook);

			/*
			 * Since this test runs against all of the PDFs, it's mostly just a
			 * "make sure things don't blow up" test case. Which is fine! But we can still
			 * verify some basic facts about the results.
			 */

			Assert.assertNotNull(codebook);
			// Note: The 2017-05 version of the PDE codebook has 56 variables.
			Assert.assertTrue("Not as many variables as expected: " + codebook.getVariables().size(),
					codebook.getVariables().size() > 50);

			for (Variable variable : codebook.getVariables()) {
				assertVariableIsValid(variable);
			}
		}
	}