Skip to content

Commit

Permalink
Add a Numeric Scalar test case for the TIME column
Browse files Browse the repository at this point in the history
  • Loading branch information
sjperkins committed Feb 1, 2024
1 parent e42a7fd commit 84a77ee
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions cpp/tests/column_rw_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,48 @@ class ColumnWriteTest : public ::testing::Test {
TEST_F(ColumnWriteTest, WriteVisitorScalarNumeric) {
const auto & table = table_proxy_.table();

{
using CT = casacore::Double;
auto time = GetScalarColumn<CT>(table, "TIME");
auto zeroes = casacore::Array<CT>(IPos({knrow}), CT{0});
time.putColumn(zeroes);
ASSERT_OK_AND_ASSIGN(auto data,
ArrayFromJSON(arrow::float64(), R"([2, 3])"));

ASSERT_OK_AND_ASSIGN(auto write_map, (ColumnWriteMap::Make(time, {}, data)));
auto write_visitor = ColumnWriteVisitor(write_map);
ASSERT_OK(write_visitor.Visit());

ASSERT_OK_AND_ASSIGN(auto read_map, (ColumnReadMap::Make(time, {})));
auto read_visitor = ColumnReadVisitor(read_map);
ASSERT_OK(read_visitor.Visit(time.columnDesc().dataType()));
ASSERT_TRUE(data->Equals(read_visitor.array_));
EXPECT_THAT(time.getColumn(), ::testing::ElementsAre(
CT{2}, CT{3}));

}

{
using CT = casacore::Double;
auto time = GetScalarColumn<CT>(table, "TIME");
auto zeroes = casacore::Array<CT>(IPos({knrow}), CT{0});
time.putColumn(zeroes);
ASSERT_OK_AND_ASSIGN(auto data,
ArrayFromJSON(arrow::float64(), R"([3])"));

ASSERT_OK_AND_ASSIGN(auto write_map, (ColumnWriteMap::Make(time, {{1}}, data)));
auto write_visitor = ColumnWriteVisitor(write_map);
ASSERT_OK(write_visitor.Visit());

ASSERT_OK_AND_ASSIGN(auto read_map, (ColumnReadMap::Make(time, {{1}})));
auto read_visitor = ColumnReadVisitor(read_map);
ASSERT_OK(read_visitor.Visit(time.columnDesc().dataType()));
ASSERT_TRUE(data->Equals(read_visitor.array_));
EXPECT_THAT(time.getColumn(), ::testing::ElementsAre(
CT{0}, CT{3}));

}

{
// Write both complex rows
using CT = casacore::DComplex;
Expand Down

0 comments on commit 84a77ee

Please sign in to comment.