public void assertRoundTrip(ObjectInspector objectInspector, Iterable<?> writeValues, Iterable<?> readValues, Type type)
throws Exception
{
for (Format formatVersion : formats) {
MetadataReader metadataReader;
if (DWRF == formatVersion) {
if (hasType(objectInspector, PrimitiveCategory.DATE)) {
return;
}
metadataReader = new DwrfMetadataReader();
}
else {
metadataReader = new OrcMetadataReader();
}
for (Compression compression : compressions) {
try (TempFile tempFile = new TempFile("test", "orc")) {
writeOrcColumn(tempFile.getFile(), formatVersion, compression, objectInspector, writeValues.iterator());
assertFileContents(objectInspector, tempFile, readValues, false, false, metadataReader, type);
if (skipBatchTestsEnabled) {
assertFileContents(objectInspector, tempFile, readValues, true, false, metadataReader, type);
}
if (skipStripeTestsEnabled) {
assertFileContents(objectInspector, tempFile, readValues, false, true, metadataReader, type);
}
}
}
}
}