MCPcopy Create free account
hub / github.com/PDAL/PDAL / TEST

Function TEST

test/unit/PointTableTest.cpp:44–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42{
43
44TEST(PointTable, resolveType)
45{
46 using namespace Dimension;
47
48 PointTable table;
49 PointLayoutPtr layout(table.layout());
50
51 // Start with a default-defined dimension.
52 layout->registerDim(Id::X);
53 EXPECT_EQ(layout->dimSize(Id::X), 8u);
54 EXPECT_EQ(layout->dimType(Id::X), Type::Double);
55
56 layout->registerDim(Id::X, Type::Signed32);
57 EXPECT_EQ(layout->dimSize(Id::X), 8u);
58 EXPECT_EQ(layout->dimType(Id::X), Type::Double);
59
60 layout->registerDim(Dimension::Id::X, Type::Unsigned8);
61 EXPECT_EQ(layout->dimSize(Id::X), 8u);
62 EXPECT_EQ(layout->dimType(Id::X), Type::Double);
63
64 /// Build as we go.
65 layout->registerDim(Id::Intensity, Type::Unsigned8);
66 EXPECT_EQ(layout->dimSize(Id::Intensity), 1u);
67 EXPECT_EQ(layout->dimType(Id::Intensity), Type::Unsigned8);
68
69 layout->registerDim(Id::Intensity, Type::Unsigned8);
70 EXPECT_EQ(layout->dimSize(Id::Intensity), 1u);
71 EXPECT_EQ(layout->dimType(Id::Intensity), Type::Unsigned8);
72
73 layout->registerDim(Id::Intensity, Type::Signed8);
74 // Signed 8 and Unsigned 8 should yield signed 16.
75 EXPECT_EQ(layout->dimSize(Id::Intensity), 2u);
76 EXPECT_EQ(layout->dimType(Id::Intensity), Type::Signed16);
77
78 layout->registerDim(Id::Intensity, Type::Signed16);
79 EXPECT_EQ(layout->dimSize(Id::Intensity), 2u);
80 EXPECT_EQ(layout->dimType(Id::Intensity), Type::Signed16);
81
82 layout->registerDim(Id::Intensity, Type::Float);
83 EXPECT_EQ(layout->dimSize(Id::Intensity), 4u);
84 EXPECT_EQ(layout->dimType(Id::Intensity), Type::Float);
85
86 layout->registerDim(Id::Intensity, Type::Double);
87 EXPECT_EQ(layout->dimSize(Id::Intensity), 8u);
88 EXPECT_EQ(layout->dimType(Id::Intensity), Type::Double);
89
90 ///
91 layout->registerDim(Id::Red, Type::Unsigned16);
92 EXPECT_EQ(layout->dimSize(Id::Red), 2u);
93 EXPECT_EQ(layout->dimType(Id::Red), Type::Unsigned16);
94
95 layout->registerDim(Id::Red, Type::Signed8);
96 EXPECT_EQ(layout->dimSize(Id::Red), 4u);
97 EXPECT_EQ(layout->dimType(Id::Red), Type::Signed32);
98
99 layout->registerDim(Id::Red, Type::Signed16);
100 EXPECT_EQ(layout->dimSize(Id::Red), 4u);
101 EXPECT_EQ(layout->dimType(Id::Red), Type::Signed32);

Callers

nothing calls this directly

Calls 15

datapathFunction · 0.85
simpleTestFunction · 0.85
registerDimMethod · 0.80
dimSizeMethod · 0.80
setOptionsMethod · 0.80
addSpatialReferenceMethod · 0.80
dimTypeMethod · 0.45
addMethod · 0.45
prepareMethod · 0.45
executeMethod · 0.45
beginMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected