Add to_bool(string) function

This commit is contained in:
Joakim Hove
2019-03-11 17:08:24 +01:00
parent 5421efd79d
commit 25522dc424
3 changed files with 60 additions and 1 deletions

View File

@@ -722,3 +722,23 @@ BOOST_AUTO_TEST_CASE(DeckItemEqual) {
BOOST_CHECK( item3.equal( item5 , false, true ));
BOOST_CHECK( !item3.equal( item5 , false, false ));
}
BOOST_AUTO_TEST_CASE(STRING_TO_BOOL) {
BOOST_CHECK( DeckItem::to_bool("TRUE") );
BOOST_CHECK( DeckItem::to_bool("T") );
BOOST_CHECK( DeckItem::to_bool("YES") );
BOOST_CHECK( DeckItem::to_bool("yEs") );
BOOST_CHECK( DeckItem::to_bool("Y") );
BOOST_CHECK( DeckItem::to_bool("1") );
//
BOOST_CHECK( !DeckItem::to_bool("falsE") );
BOOST_CHECK( !DeckItem::to_bool("f") );
BOOST_CHECK( !DeckItem::to_bool("NO") );
BOOST_CHECK( !DeckItem::to_bool("N"));
BOOST_CHECK( !DeckItem::to_bool("0") );
//
BOOST_CHECK_THROW(DeckItem::to_bool("NO - not valid"), std::invalid_argument);
BOOST_CHECK_THROW(DeckItem::to_bool("YE"), std::invalid_argument);
BOOST_CHECK_THROW(DeckItem::to_bool("YE"), std::invalid_argument);
}