void testTypesExpected(std::string query, TypeMap expectedTypes) {
  auto dbc = getTestDBC();
  QueryDataTyped typedResults;
  queryInternal(query, typedResults, dbc);
  for (const auto& row : typedResults) {
    for (const auto& col : row) {
      if (expectedTypes.count(col.first)) {
        EXPECT_EQ(boost::apply_visitor(type_picker_visitor(), col.second),
                  expectedTypes[col.first])
            << " These are the integer values of actual/expected ColumnType "
               "(resp) of "
            << col.first << " for query: " << query;
      } else {
        FAIL() << "Found no expected type for " << col.first
               << " in test of column types for query " << query;
      }
    }
  }
}
void testTypesExpected(std::string query, TypeMap expectedTypes) {
  auto dbc = getTestDBC();
  QueryDataTyped typedResults;
  queryInternal(query, typedResults, dbc);
  for (const auto& row : typedResults) {
    for (const auto& col : row) {
      if (expectedTypes.count(col.first)) {
        EXPECT_EQ(boost::apply_visitor(type_picker_visitor(), col.second),
                  expectedTypes[col.first])
            << " These are the integer values of actual/expected ColumnType "
               "(resp) of "
            << col.first << " for query: " << query;
      } else {
        FAIL() << "Found no expected type for " << col.first
               << " in test of column types for query " << query;
      }
    }
  }
}