diff --git a/tests/base58/is_base58.cpp b/tests/base58/is_base58.cpp index 04459e7..5eeb56c 100644 --- a/tests/base58/is_base58.cpp +++ b/tests/base58/is_base58.cpp @@ -3,50 +3,50 @@ #include #include -typedef std::pair testpair_t; -typedef std::vector tests; - TEST_CASE("base58::is_base58 [string]") { - tests input = { - // Empty string is a valid base58 string. - testpair_t("", std::string::npos), - // Test Zero (0) - testpair_t("2SdasxuGGdVU5VVyrXiko4jKASeS57E0P9uokzUphZt7tZxt24bzsEwvre", 31), - - // Test O - testpair_t("2RTAsaYN2fpxVEDzaQht8ZnAUmwRpJz9C18VXrAWypxQSijRb9295kw13MA8krpRzK5cj2N5p84qQh3OGJrucW8hkLNy3aaEd2rTVhYkekhFiQoQ41JiNScD5KjmpDDxy", 79), - - // Test I - testpair_t("5hWrCBA55zLmKpIhZd3RS1DHsJ7SnZpnyBfmibqGpDCJ7QCJGkogvhqPvGuwMgwNHzuZFyR", 14), - - // Test l - testpair_t("lHxVA2fQKawLAK9MCJSr2xaWyDpoquQxVP6MMchdhzY49TjTfti8LDR6YL", 0), - - // All valid - testpair_t("2BCoJ2BqNWorSoQcSWCQNanB8teoKFaqjojWGEXPBCPPdoGyVN8dgmKRdw", std::string::npos), + struct testcase{ + const char *name; + std::string input; + size_t expected; }; - for(tests::const_iterator it = input.begin(); it != input.end(); it++) { + std::vector tests = { + {"empty", "", std::string::npos}, + {"zero", "2SdasxuGGdVU5VVyrXiko4jKASeS57E0P9uokzUphZt7tZxt24bzsEwvre", 31}, + {"O", "2RTAsaYN2fpxVEDzaQht8ZnAUmwRpJz9C18VXrAWypxQSijRb9295kw13MA8krpRzK5cj2N5p84qQh3OGJrucW8hkLNy3aaEd2rTVhYkekhFiQoQ41JiNScD5KjmpDDxy", 79}, + {"I", "5hWrCBA55zLmKpIhZd3RS1DHsJ7SnZpnyBfmibqGpDCJ7QCJGkogvhqPvGuwMgwNHzuZFyR", 14}, + {"l", "lHxVA2fQKawLAK9MCJSr2xaWyDpoquQxVP6MMchdhzY49TjTfti8LDR6YL", 0}, + {"all_valid", "2BCoJ2BqNWorSoQcSWCQNanB8teoKFaqjojWGEXPBCPPdoGyVN8dgmKRdw", std::string::npos}, + }; - size_t ret = libeosio::is_base58(it->first); + for(auto it = tests.begin(); it != tests.end(); it++) { + + SUBCASE(it->name) { + CHECK(libeosio::is_base58(it->input) == it->expected); + } - CHECK(ret == it->second); } } TEST_CASE("base58::is_base58 [char]") { std::string valid_alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; std::string invalid_alphabet = "0OIl"; - for(int i = 0; i < valid_alphabet.length(); i++) { - char ch = valid_alphabet[i]; - CHECK(libeosio::is_base58(ch) == true); + SUBCASE("valid") { + + for(int i = 0; i < valid_alphabet.length(); i++) { + char ch = valid_alphabet[i]; + + CHECK(libeosio::is_base58(ch)); + } } - for(int i = 0; i < invalid_alphabet.length(); i++) { - char ch = invalid_alphabet[i]; + SUBCASE("invalid") { + for(int i = 0; i < invalid_alphabet.length(); i++) { + char ch = invalid_alphabet[i]; - CHECK(libeosio::is_base58(ch) == false); + CHECK_FALSE(libeosio::is_base58(ch)); + } } } \ No newline at end of file