ATLAS Offline Software
Classes | Functions
columnar::TestUtils Namespace Reference

Classes

class  BranchReader
 
class  BranchReaderArray
 
class  ColumnarTestToolHandle
 a handle to a columnar tool for running tests More...
 
struct  ColumnDataEventCount
 
struct  ColumnDataMetNames
 
struct  ColumnDataOutputMet
 
struct  ColumnDataOutVector
 
struct  ColumnDataSamplingPattern
 
struct  ColumnDataScalar
 
struct  ColumnDataVector
 
struct  ColumnDataVectorLink
 
struct  ColumnDataVectorSplitLink
 
struct  ColumnDataVectorVector
 
struct  ColumnDataVectorVectorLink
 
struct  ColumnDataVectorVectorVariantLink
 
struct  ColumnDataVectorVectorVector
 
struct  ColumnMapType
 
class  IColumnData
 
class  ManualColumnData
 a class that holds manually specified column data More...
 
class  ToolWrapperData
 a class that holds a reference to a ToolColumnVectorMap and a ColumnVectorData More...
 

Functions

void checkExpectation (const std::string &columnName, const std::type_info &outputType, std::size_t outputSize, const void *outputData, const std::type_info &expectationType, std::size_t expectationSize, const void *expectationData)
 
void printExpectedOutput (const std::string &columnName, const std::type_info &outputType, std::size_t outputSize, const void *outputData)
 

Function Documentation

◆ checkExpectation()

void columnar::TestUtils::checkExpectation ( const std::string &  columnName,
const std::type_info &  outputType,
std::size_t  outputSize,
const void *  outputData,
const std::type_info &  expectationType,
std::size_t  expectationSize,
const void *  expectationData 
)

Definition at line 46 of file ExpectationCompare.cxx.

47  {
48  SCOPED_TRACE (columnName);
49  ASSERT_EQ (outputType, expectationType);
50  if (outputType == typeid(float))
51  checkExpectationTyped (columnName, std::span<const float> (static_cast<const float*> (outputData), outputSize), std::span<const float> (static_cast<const float*> (expectationData), expectationSize));
52  else if (outputType == typeid(char))
53  checkExpectationTyped (columnName, std::span<const char> (static_cast<const char*> (outputData), outputSize), std::span<const char> (static_cast<const char*> (expectationData), expectationSize));
54  else if (outputType == typeid(int))
55  checkExpectationTyped (columnName, std::span<const int> (static_cast<const int*> (outputData), outputSize), std::span<const int> (static_cast<const int*> (expectationData), expectationSize));
56  else if (outputType == typeid(std::uint8_t))
57  checkExpectationTyped (columnName, std::span<const std::uint8_t> (static_cast<const std::uint8_t*> (outputData), outputSize), std::span<const std::uint8_t> (static_cast<const std::uint8_t*> (expectationData), expectationSize));
58  else if (outputType == typeid(std::uint16_t))
59  checkExpectationTyped (columnName, std::span<const std::uint16_t> (static_cast<const std::uint16_t*> (outputData), outputSize), std::span<const std::uint16_t> (static_cast<const std::uint16_t*> (expectationData), expectationSize));
60  else if (outputType == typeid(std::uint32_t))
61  checkExpectationTyped (columnName, std::span<const std::uint32_t> (static_cast<const std::uint32_t*> (outputData), outputSize), std::span<const std::uint32_t> (static_cast<const std::uint32_t*> (expectationData), expectationSize));
62  else if (outputType == typeid(std::uint64_t))
63  checkExpectationTyped (columnName, std::span<const std::uint64_t> (static_cast<const std::uint64_t*> (outputData), outputSize), std::span<const std::uint64_t> (static_cast<const std::uint64_t*> (expectationData), expectationSize));
64  else if (outputType == typeid(std::size_t))
65  checkExpectationTyped (columnName, std::span<const std::size_t> (static_cast<const std::size_t*> (outputData), outputSize), std::span<const std::size_t> (static_cast<const std::size_t*> (expectationData), expectationSize));
66  else
67  throw std::logic_error ("received unsupported type " + boost::core::demangle(outputType.name()) + " for column compare, cast value or extend test handler to support it");
68  }

◆ printExpectedOutput()

void columnar::TestUtils::printExpectedOutput ( const std::string &  columnName,
const std::type_info &  outputType,
std::size_t  outputSize,
const void *  outputData 
)

Definition at line 93 of file ExpectationCompare.cxx.

94  {
95  if (outputType == typeid(float))
96  printExpectedOutputTyped (columnName, std::span<const float> (static_cast<const float*> (outputData), outputSize));
97  else if (outputType == typeid(char))
98  printExpectedOutputTyped (columnName, std::span<const char> (static_cast<const char*> (outputData), outputSize));
99  else if (outputType == typeid(int))
100  printExpectedOutputTyped (columnName, std::span<const int> (static_cast<const int*> (outputData), outputSize));
101  else if (outputType == typeid(std::uint8_t))
102  printExpectedOutputTyped (columnName, std::span<const std::uint8_t> (static_cast<const std::uint8_t*> (outputData), outputSize));
103  else if (outputType == typeid(std::uint16_t))
104  printExpectedOutputTyped (columnName, std::span<const std::uint16_t> (static_cast<const std::uint16_t*> (outputData), outputSize));
105  else if (outputType == typeid(std::uint32_t))
106  printExpectedOutputTyped (columnName, std::span<const std::uint32_t> (static_cast<const std::uint32_t*> (outputData), outputSize));
107  else if (outputType == typeid(std::uint64_t))
108  printExpectedOutputTyped (columnName, std::span<const std::uint64_t> (static_cast<const std::uint64_t*> (outputData), outputSize));
109  else if (outputType == typeid(std::size_t))
110  printExpectedOutputTyped (columnName, std::span<const std::size_t> (static_cast<const std::size_t*> (outputData), outputSize));
111  else
112  throw std::logic_error ("received unsupported type " + boost::core::demangle(outputType.name()) + " for column printout, cast value or extend test handler to support it");
113  }
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:558
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TCS::outputType
outputTopoType_t outputType(const std::string &output)
Definition: Types.cxx:146
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123