Skip to content

Commit

Permalink
[test/Feature] more extensive testing
Browse files Browse the repository at this point in the history
  • Loading branch information
jgrewe committed Nov 28, 2020
1 parent aeda384 commit c2b10bb
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 4 deletions.
37 changes: 34 additions & 3 deletions test/BaseTestFeature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,22 +89,53 @@ void BaseTestFeature::testDataArrayFeature() {
CPPUNIT_ASSERT_THROW(f.data(a), UninitializedEntity);

Feature rp = tag.createFeature(data_array, nix::LinkType::Tagged);
tag.hasFeature(rp.id());
tag.getFeature(rp.id());
Feature ft2 = tag.getFeature(data_array.name());
CPPUNIT_ASSERT(ft2 && ft2.dataArray().name() == data_array.name());
CPPUNIT_ASSERT(ft2 && ft2.id() == rp.id());

DataArray da_2 = block.createDataArray("array2", "Test",
DataType::Double, nix::NDSize({ 0 }));
CPPUNIT_ASSERT(rp.dataArray().id() == data_array.id());
CPPUNIT_ASSERT(rp.data().id() == data_array.id());
rp.data(da_2);
CPPUNIT_ASSERT(rp.data().id() == da_2.id());
CPPUNIT_ASSERT(rp.dataArray().id() == da_2.id());
CPPUNIT_ASSERT_THROW(rp.dataFrame(), std::runtime_error);
block.deleteDataArray(da_2.id());
// make sure link is gone with deleted data array
CPPUNIT_ASSERT(rp.data() == nix::none);
CPPUNIT_ASSERT(rp.dataArray() == nix::none);
CPPUNIT_ASSERT_THROW(rp.data(""), EmptyString);
CPPUNIT_ASSERT_THROW(rp.data("worng_id"), std::runtime_error);
tag.deleteFeature(rp.id());
}


void BaseTestFeature::testDataFrameFeature() {
Feature ft = tag.createFeature(data_frame, nix::LinkType::Indexed);
DataFrame df;
Feature ft;
CPPUNIT_ASSERT_THROW(tag.createFeature(df, nix::LinkType::Tagged), UninitializedEntity);
CPPUNIT_ASSERT_THROW(ft.data(df), UninitializedEntity);
std::vector<nix::Column> cols = {
{"bool", "", nix::DataType::Bool},
{"int32", "V", nix::DataType::Int32}};
df = block.createDataFrame("df", "test_df", cols);
ft = tag.createFeature(df, nix::LinkType::Untagged);
ft.data(df.name());
block.deleteDataFrame(df);
CPPUNIT_ASSERT_THROW(ft.data(df), UninitializedEntity);
CPPUNIT_ASSERT(ft.dataFrame() == nix::none);
CPPUNIT_ASSERT_THROW(ft.data(""), EmptyString);
CPPUNIT_ASSERT_THROW(ft.data("worng_id"), std::runtime_error);
CPPUNIT_ASSERT_THROW(ft.dataArray(), std::runtime_error);
CPPUNIT_ASSERT_THROW(ft.data(), std::runtime_error);

ft = tag.createFeature(data_frame, nix::LinkType::Indexed);

DataFrame df2 = ft.dataFrame();
Feature ft2 = tag.getFeature(data_frame.name());
CPPUNIT_ASSERT(ft2 && ft2.dataFrame().name() == data_frame.name());
CPPUNIT_ASSERT(ft2 && ft2.id() == ft.id());
CPPUNIT_ASSERT(ft.targetType() == nix::TargetType::DataFrame && ft.linkType() == nix::LinkType::Indexed);
tag.deleteFeature(ft.id());

Expand Down
2 changes: 1 addition & 1 deletion test/hdf5/TestFeatureHDF5.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class TestFeatureHDF5 : public BaseTestFeature {
{"uint64", "A", nix::DataType::UInt64},
{"string", "", nix::DataType::String},
{"double", "mV", nix::DataType::Double}};
data_frame = block.createDataFrame("isd", "isd", cols);
data_frame = block.createDataFrame("test dataframe", "nix:test", cols);

tag = block.createTag("featureTest", "Test", {0.0, 2.0, 3.4});
}
Expand Down

0 comments on commit c2b10bb

Please sign in to comment.