Skip to content

Commit

Permalink
#1376: tests: add throw tests for enum conversion
Browse files Browse the repository at this point in the history
  • Loading branch information
nlslatt committed May 28, 2021
1 parent e691572 commit 47989b1
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions tests/unit/lb/test_lbargs_enum_conv.nompi.cc
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,23 @@ TEST_F(TestLBArgsEnumConverter, test_enum_converter_mapping) {
checkString(dummy_, "One");
checkString(dummy_, "Two");
checkString(dummy_, "Three");

ASSERT_THROW(
dummy_.getString(static_cast<DummyEnum>(0)),
std::runtime_error
);
ASSERT_THROW(
dummy_.getString(static_cast<DummyEnum>(4)),
std::runtime_error
);
ASSERT_THROW(
dummy_.getEnum("Zero"),
std::runtime_error
);
ASSERT_THROW(
dummy_.getEnum("Four"),
std::runtime_error
);
}

TEST_F(TestLBArgsEnumConverter, test_enum_converter_spec) {
Expand Down Expand Up @@ -129,6 +146,20 @@ TEST_F(TestLBArgsEnumConverter, test_enum_converter_spec) {
EXPECT_EQ(dummy_.getFromSpec(&spec, DummyEnum::One), DummyEnum::Two);
// unspecified should return default value
EXPECT_EQ(count_.getFromSpec(&spec, DummyEnum::One), DummyEnum::One);

std::string bad_spec_string("dummy=Four");
auto bad_spec = vrt::collection::balance::ReadLBSpec::makeSpecFromParams(
bad_spec_string
);

ASSERT_THROW(
dummy_.getFromSpec(&bad_spec, DummyEnum::One),
std::runtime_error
);
ASSERT_THROW(
dummy_.getFromSpec(&spec, static_cast<DummyEnum>(0)),
std::runtime_error
);
}

}}} // end namespace vt::tests::unit

0 comments on commit 47989b1

Please sign in to comment.