@Test
public void testMultiColumns() throws Exception {

    ContentHandler handler = new BodyContentHandler();
    Metadata metadata = new Metadata();
    try (InputStream stream = SAS7BDATParserTest.class.getResourceAsStream(
            "/test-documents/test-columnar.sas7bdat")) {            
        AUTO_DETECT_PARSER.parse(stream, handler, metadata, new ParseContext());
    }
    assertEquals("application/x-sas-data", metadata.get(Metadata.CONTENT_TYPE));
    assertEquals("TESTING", metadata.get(TikaCoreProperties.TITLE));
    assertEquals("2018-05-18T11:38:30Z", metadata.get(TikaCoreProperties.CREATED));
    assertEquals("2018-05-18T11:38:30Z", metadata.get(TikaCoreProperties.MODIFIED));
    
    assertEquals("1", metadata.get(PagedText.N_PAGES));
    assertEquals("8", metadata.get(Database.COLUMN_COUNT));
    assertEquals("11", metadata.get(Database.ROW_COUNT));
    assertEquals("windows-1252", metadata.get(HttpHeaders.CONTENT_ENCODING));
    assertEquals("X64_7PRO", metadata.get(OfficeOpenXMLExtended.APPLICATION));
    assertEquals("9.0401M5", metadata.get(OfficeOpenXMLExtended.APP_VERSION));
    assertEquals("32", metadata.get(MachineMetadata.ARCHITECTURE_BITS));
    assertEquals("Little", metadata.get(MachineMetadata.ENDIAN));
    assertEquals(Arrays.asList("Record Number","Square of the Record Number",
                               "Description of the Row","Percent Done",
                               "Percent Increment","date","datetime","time"),
                 Arrays.asList(metadata.getValues(Database.COLUMN_NAME)));
    
    String content = handler.toString();
    assertContains("TESTING", content);
    assertContains("0\t0\tThis", content);
    assertContains("2\t4\tThis", content);
    assertContains("4\t16\tThis", content);
    assertContains("\t01-01-1960\t", content);
    assertContains("\t01"+SHORT_MONTHS[0]+"1960:00:00", content);
}