Skip to content
Snippets Groups Projects

AST-1637 Support model data in BdaBuffer

Merged AST-1637 Support model data in BdaBuffer
All threads resolved!
Merged Maik Nijhuis requested to merge ast-1637-bda-model-data into master
All threads resolved!
3 files
+ 40
20
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 22
12
@@ -118,20 +118,30 @@ BOOST_AUTO_TEST_CASE(copy_all_fields) {
kBaselineNr + 1, kNChannels, kNCorrelations, kData2,
kFlags, kWeights2, kUvw));
BdaBuffer buffer_copy{buffer, BdaBuffer::Fields(true)};
// Add an extra visibility buffer, which should also be copied.
buffer.AddData(kDataName);
for (std::size_t i = 0; i < 2 * kDataSize; ++i) {
buffer.GetData(kDataName)[i] = {42.0f + i, 0.0f - i};
}
const BdaBuffer buffer_copy{buffer, BdaBuffer::Fields(true)};
// Verify the memory pool data in the copy.
BOOST_CHECK(buffer.GetData() != buffer_copy.GetData());
BOOST_CHECK(buffer.GetFlags() != buffer_copy.GetFlags());
BOOST_CHECK(buffer.GetWeights() != buffer_copy.GetWeights());
BOOST_CHECK(buffer.GetData() != nullptr);
BOOST_CHECK(buffer.GetFlags() != nullptr);
BOOST_CHECK(buffer.GetWeights() != nullptr);
BOOST_CHECK_NE(buffer.GetData(), buffer_copy.GetData());
BOOST_CHECK_NE(buffer.GetData(kDataName), buffer_copy.GetData(kDataName));
BOOST_CHECK_NE(buffer.GetFlags(), buffer_copy.GetFlags());
BOOST_CHECK_NE(buffer.GetWeights(), buffer_copy.GetWeights());
BOOST_REQUIRE_NE(buffer_copy.GetData(), nullptr);
BOOST_REQUIRE_NE(buffer_copy.GetData(kDataName), nullptr);
BOOST_REQUIRE_NE(buffer_copy.GetFlags(), nullptr);
BOOST_REQUIRE_NE(buffer_copy.GetWeights(), nullptr);
BOOST_CHECK_EQUAL(buffer.GetNumberOfElements(),
buffer_copy.GetNumberOfElements());
for (std::size_t i = 0; i < buffer.GetNumberOfElements(); ++i) {
BOOST_CHECK_EQUAL(buffer.GetData()[i], buffer_copy.GetData()[i]);
BOOST_CHECK_EQUAL(buffer.GetData(kDataName)[i],
buffer_copy.GetData(kDataName)[i]);
BOOST_CHECK_EQUAL(buffer.GetFlags()[i], buffer_copy.GetFlags()[i]);
BOOST_CHECK_EQUAL(buffer.GetWeights()[i], buffer_copy.GetWeights()[i]);
}
@@ -218,10 +228,10 @@ BOOST_AUTO_TEST_CASE(copy_add_data_flags) {
BOOST_CHECK_EQUAL(copy.GetRemainingCapacity(), 0u);
}
BOOST_AUTO_TEST_CASE(add_all_fields) {
BOOST_AUTO_TEST_CASE(add_row_all_fields) {
const std::complex<float> kData1[kDataSize]{{1, 1}, {2, 2}, {3, 3},
{4, 4}, {5, 5}, {6, 6}};
const std::complex<float> kData2[1]{{7, 7}};
const std::complex<float> kData2[k1DataSize]{{7, 7}};
const bool kFlags1[kDataSize]{true, false, true, true, false, true};
const bool kFlags2[k1DataSize]{false};
const float kWeights1[kDataSize]{21, 22, 23, 24, 25, 26};
@@ -236,10 +246,10 @@ BOOST_AUTO_TEST_CASE(add_all_fields) {
kNChannels, kNCorrelations, kData1, kFlags1,
kWeights1, kUvw1));
buffer.SetBaseRowNr(kBaseRowNr);
BOOST_CHECK(buffer.AddRow(kTime + 1., kInterval + 1., kExposure + 1.,
BOOST_CHECK(buffer.AddRow(kTime + 1.0, kInterval + 1.0, kExposure + 1.0,
kBaselineNr + 1, k1Channel, k1Correlation, kData2,
kFlags2, kWeights2, kUvw2));
BOOST_CHECK(!buffer.AddRow(kTime + 2., kInterval, kExposure, kBaselineNr + 2,
BOOST_CHECK(!buffer.AddRow(kTime + 2.0, kInterval, kExposure, kBaselineNr + 2,
k1Channel, k1Correlation));
// Verify the data in the buffer.
@@ -296,7 +306,7 @@ BOOST_AUTO_TEST_CASE(add_all_fields) {
}
}
BOOST_AUTO_TEST_CASE(add_no_fields) {
BOOST_AUTO_TEST_CASE(add_row_no_fields) {
BdaBuffer buffer(kDataSize);
BOOST_CHECK(buffer.AddRow(kTime, kInterval, kExposure, kBaselineNr,
kNChannels, kNCorrelations));
Loading