This commit is contained in:
Tyler Beckman 2024-09-24 16:56:57 -06:00
parent 7617dffd08
commit 5be7b56660
Signed by: Ty
GPG key ID: 2813440C772555A4
10 changed files with 601 additions and 352 deletions

BIN
L3B

Binary file not shown.

View file

@ -1,3 +1,5 @@
All personal code of mine is licensed under the following CC0 license, however most of the code (all of main.cpp, all of test_suite.cpp, and all but the actual string logic in string_functions.cpp) was written by Jeffrey R. Paone and is licensed under the MIT license
# Creative Commons CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.

View file

@ -1,19 +1,20 @@
/**
* @file main.cpp
* @author Tyler Beckman (tyler_beckman@mines.edu)
* @brief CSCI200 L3B - A program to test different string modification APIs in C++
* @brief CSCI200 L3B - A program to test different string modification APIs in
* C++
* @version 1
* @date 2024-09-21
*/
#include <iostream>
#include "test_suite.h"
#include <iostream>
int main() {
std::cout << "Testing your functions..." << std::endl << std::endl;
if( run_all_tests() ) {
if (run_all_tests()) {
std::cout << "ALL TESTS PASSED!" << std::endl;
} else {
std::cout << "Not all tests are passing, errors remain..." << std::endl;

BIN
main.o

Binary file not shown.

View file

@ -13,94 +13,103 @@ unsigned long string_length(const string STR) {
char string_char_at(const string STR, const int IDX) {
char result = '\0';
result = STR.at(IDX);
std::cout << "TODO: implement string_char_at(\"" << STR << "\", " << IDX << ")" << std::endl;
return result;
}
string string_append(const string LEFT, const string RIGHT) {
string result = LEFT;
result = LEFT + RIGHT;
std::cout << "TODO: implement string_append(\"" << LEFT << "\", \"" << RIGHT << "\")" << std::endl;
return result;
}
string string_insert(const string STR, const string TO_INSERT, const int IDX) {
string result = STR;
result.insert(IDX, TO_INSERT);
std::cout << "TODO: implement string_insert(\"" << STR << "\", \"" << TO_INSERT << "\", " << IDX << ")" << std::endl;
return result;
}
size_t string_find(const string STR, const char C) {
size_t result = 0;
result = STR.find_first_of(C);
std::cout << "TODO: implement string_find(\"" << STR << "\", '" << C << "')" << std::endl;
return result;
}
string string_substring(const string STR, const int IDX, const int LEN) {
string result = STR;
result = STR.substr(IDX, LEN);
std::cout << "TODO: implement string_substring(\"" << STR << "\", " << IDX << ", " << LEN << ")" << std::endl;
return result;
}
string string_replace(const string STR, const string TEXT_TO_REPLACE, const string REPLACE_WITH) {
string string_replace(const string STR, const string TEXT_TO_REPLACE,
const string REPLACE_WITH) {
string result = STR;
auto index = STR.find(TEXT_TO_REPLACE);
if (index != -1ul) {
result.replace(STR.find(TEXT_TO_REPLACE), TEXT_TO_REPLACE.length(), REPLACE_WITH);
result.replace(STR.find(TEXT_TO_REPLACE), TEXT_TO_REPLACE.length(),
REPLACE_WITH);
}
std::cout << "TODO: implement string_replace(\"" << STR << "\", \"" << TEXT_TO_REPLACE << "\", \"" << REPLACE_WITH << ")\"" << std::endl;
return result;
}
string string_first_word(const string STR) {
string result = STR;
result = STR.substr(0, STR.find_first_of(' '));
std::cout << "TODO: implement string_first_word(\"" << STR << "\")" << std::endl;
return result;
}
string string_remove_first_word(const string STR) {
string result = STR;
// TODO 08: set result to be the string with the first word removed
std::cout << "TODO: implement string_remove_first_word(\"" << STR << ")\"" << std::endl;
if (STR.find_first_of(' ') != -1ul) {
result = STR.substr(STR.find_first_of(' ') + 1, STR.length() - 1);
} else {
result = "";
}
return result;
}
string string_second_word(const string STR) {
string result = STR;
// TODO 09: set result to be the second word from the string
std::cout << "TODO: implement string_second_word(\"" << STR << "\")" << std::endl;
result = string_remove_first_word(STR);
result = string_first_word(result);
return result;
}
string string_third_word(const string STR) {
string result = STR;
// TODO 10: set result to be the third word from the string
std::cout << "TODO: implement string_third_word(\"" << STR << "\")" << std::endl;
result = string_remove_first_word(STR);
result = string_remove_first_word(result);
result = string_first_word(result);
return result;
}
string string_nth_word(const string STR, const int N) {
string result = STR;
// TODO 11: set result to be the nth word from the string
std::cout << "TODO: implement string_nth_word(\"" << STR << "\", " << N << ")" << std::endl;
for (int i = 0; i < N - 1; i++) {
result = string_remove_first_word(result);
}
result = string_first_word(result);
return result;
}
vector<string> string_tokenize(const string STR, const char DELIMINATOR) {
vector<string> result;
// TODO 12: split the string by the given deliminator
std::cout << "TODO: implement string_tokenize(\"" << STR << "\", '" << DELIMINATOR << "')" << std::endl;
result = {""};
for (unsigned long i = 0; i < STR.length(); i++) {
if (STR[i] == DELIMINATOR) {
result.push_back("");
continue;
}
result[result.size() - 1] += STR[i];
}
return result;
}
string string_substitute(const string STR, const char TARGET, const char REPLACEMENT) {
string string_substitute(const string STR, const char TARGET,
const char REPLACEMENT) {
string result = STR;
// TODO 13: set result to be the string with all instances of TARGET replaced
std::cout << "TODO: implement string_substitute(\"" << STR << "\", '" << TARGET << "', '" << REPLACEMENT << "')" << std::endl;
while (result.find(TARGET) != -1ul) {
result[result.find(TARGET)] = REPLACEMENT;
}
return result;
}
@ -109,11 +118,12 @@ string string_to_lower(const string STR) {
for (unsigned int i = 0; i < STR.length(); i++) {
char newChar = STR[i];
if (newChar >= 'A' && newChar <= 'Z') {
newChar = (char) (newChar + 32);
newChar = (char)(newChar + 32);
}
result[i] = newChar;
}
std::cout << "TODO: implement string_to_lower(\"" << STR << "\")" << std::endl;
std::cout << "TODO: implement string_to_lower(\"" << STR << "\")"
<< std::endl;
return result;
}
@ -122,11 +132,12 @@ string string_to_upper(const string STR) {
for (unsigned int i = 0; i < STR.length(); i++) {
char newChar = STR[i];
if (newChar >= 'a' && newChar <= 'z') {
newChar = (char) (newChar - 32);
newChar = (char)(newChar - 32);
}
result[i] = newChar;
}
std::cout << "TODO: implement string_to_upper(\"" << STR << "\")" << std::endl;
std::cout << "TODO: implement string_to_upper(\"" << STR << "\")"
<< std::endl;
return result;
}
@ -139,6 +150,7 @@ int string_compare(const string LHS, const string RHS) {
result = -1;
}
}
std::cout << "TODO: implement string_compare(\"" << LHS << "\", \"" << RHS << "\")" << std::endl;
std::cout << "TODO: implement string_compare(\"" << LHS << "\", \"" << RHS
<< "\")" << std::endl;
return result;
}

View file

@ -28,19 +28,22 @@ char string_char_at(const std::string STR, const int IDX);
std::string string_append(const std::string LEFT, const std::string RIGHT);
/**
* @brief Returns the result of inserting a string into another at a given position
* @brief Returns the result of inserting a string into another at a given
* position
* @param STR original string
* @param TO_INSERT string to be inserted into STR
* @param IDX location within STR to insert TO_INSERT
* @return a new string with TO_INSERT inserted at index IDX of STR
*/
std::string string_insert(const std::string STR, const std::string TO_INSERT, const int IDX);
std::string string_insert(const std::string STR, const std::string TO_INSERT,
const int IDX);
/**
* @brief Returns the first index of a character in a string
* @param STR string to search within (the haystack)
* @param C character to search for (the needle)
* @return if found, first position within STR that C is located. otherwise returns string::npos
* @return if found, first position within STR that C is located. otherwise
* returns string::npos
*/
size_t string_find(const std::string STR, const char C);
@ -51,7 +54,8 @@ size_t string_find(const std::string STR, const char C);
* @param LEN length of substring to return
* @return a substring of length LEN from STR
*/
std::string string_substring(const std::string STR, const int IDX, const int LEN);
std::string string_substring(const std::string STR, const int IDX,
const int LEN);
/**
* @brief Replaces part of a string
@ -60,7 +64,9 @@ std::string string_substring(const std::string STR, const int IDX, const int LEN
* @param REPLACE_WITH the new text to insert
* @return modified string (if text found), otherwise the original string
*/
std::string string_replace(const std::string STR, const std::string TEXT_TO_REPLACE, const std::string REPLACE_WITH);
std::string string_replace(const std::string STR,
const std::string TEXT_TO_REPLACE,
const std::string REPLACE_WITH);
/**
* @brief Returns the first word, given a sentence
@ -103,21 +109,26 @@ std::string string_nth_word(const std::string STR, const int N);
*
* @param STR string to tokenize
* @param DELIMINATOR character to split on
* @return vector<string> list of all tokens in the order present in the original string
* @return vector<string> list of all tokens in the order present in the
* original string
*/
std::vector<std::string> string_tokenize(const std::string STR, const char DELIMINATOR);
std::vector<std::string> string_tokenize(const std::string STR,
const char DELIMINATOR);
/**
* @brief Returns a string substituting target character with replacement character
* @brief Returns a string substituting target character with replacement
* character
* @param STR original full string (the haystack)
* @param TARGET character to replace (the needle)
* @param REPLACEMENT character to substitute with
* @return string with all instance of TARGET replaced with REPLACEMENT
*/
std::string string_substitute(const std::string STR, const char TARGET, const char REPLACEMENT);
std::string string_substitute(const std::string STR, const char TARGET,
const char REPLACEMENT);
/**
* @brief Returns a string with all uppercase characters converted to lowercase characters
* @brief Returns a string with all uppercase characters converted to lowercase
* characters
*
* @param STR original string
* @return string with lowercase characters
@ -125,7 +136,8 @@ std::string string_substitute(const std::string STR, const char TARGET, const ch
std::string string_to_lower(const std::string STR);
/**
* @brief Returns a string with all lowercase characters converted to uppercase characters
* @brief Returns a string with all lowercase characters converted to uppercase
* characters
*
* @param STR original string
* @return string with uppercase characters
@ -133,8 +145,8 @@ std::string string_to_lower(const std::string STR);
std::string string_to_upper(const std::string STR);
/**
* @brief Compares two strings to determine their ordering or equality. Returns -1 if
* LHS < RHS. Returns 0 if LHS == RHS. Returns 1 if LHS > RHS
* @brief Compares two strings to determine their ordering or equality. Returns
* -1 if LHS < RHS. Returns 0 if LHS == RHS. Returns 1 if LHS > RHS
*
* @param LHS left hand string
* @param RHS right hand string

Binary file not shown.

View file

@ -1,4 +1,5 @@
#include "test_suite.h"
#include "string_functions.h"
#include <iomanip>
@ -13,50 +14,62 @@ int test_int(int& testNum, const string MESSAGE, const int LHS, const int RHS)
cout << setw(MESSAGE_WIDTH) << right;
cout << MESSAGE << ": ";
cout << left;
if (LHS == RHS)
if (LHS == RHS) {
cout << " PASSED \n";
else
cout << " !!>FAILED<!! Returned: \"" << LHS << "\" != Expected: \"" << RHS << "\"\n";
} else {
cout << " !!>FAILED<!! Returned: \"" << LHS << "\" != Expected: \"" << RHS
<< "\"\n";
}
return LHS == RHS ? 1 : 0;
}
int test_size_t(int& testNum, const string MESSAGE, const size_t LHS, const size_t RHS) {
int test_size_t(int& testNum, const string MESSAGE, const size_t LHS,
const size_t RHS) {
cout << "Test #" << setw(3) << right << ++testNum;
cout << setw(MESSAGE_WIDTH) << right;
cout << MESSAGE << ": ";
cout << left;
if (LHS == RHS)
if (LHS == RHS) {
cout << " PASSED \n";
else
cout << " !!>FAILED<!! Returned: \"" << LHS << "\" != Expected: \"" << RHS << "\"\n";
} else {
cout << " !!>FAILED<!! Returned: \"" << LHS << "\" != Expected: \"" << RHS
<< "\"\n";
}
return LHS == RHS ? 1 : 0;
}
int test_char(int& testNum, const string MESSAGE, const char LHS, const char RHS) {
int test_char(int& testNum, const string MESSAGE, const char LHS,
const char RHS) {
cout << "Test #" << setw(3) << right << ++testNum;
cout << setw(MESSAGE_WIDTH) << right;
cout << MESSAGE << ": ";
cout << left;
if (LHS == RHS)
if (LHS == RHS) {
cout << " PASSED \n";
else
cout << " !!>FAILED<!! Returned: \"" << LHS << "\" != Expected: \"" << RHS << "\"\n";
} else {
cout << " !!>FAILED<!! Returned: \"" << LHS << "\" != Expected: \"" << RHS
<< "\"\n";
}
return LHS == RHS ? 1 : 0;
}
int test_string(int& testNum, const string MESSAGE, const string LHS, const string RHS) {
int test_string(int& testNum, const string MESSAGE, const string LHS,
const string RHS) {
cout << "Test #" << setw(3) << right << ++testNum;
cout << setw(MESSAGE_WIDTH) << right;
cout << MESSAGE << ": ";
cout << left;
if (LHS == RHS)
if (LHS == RHS) {
cout << " PASSED \n";
else
cout << " !!>FAILED<!! Returned: \"" << LHS << "\" != Expected: \"" << RHS << "\"\n";
} else {
cout << " !!>FAILED<!! Returned: \"" << LHS << "\" != Expected: \"" << RHS
<< "\"\n";
}
return LHS == RHS ? 1 : 0;
}
int test_vector_string(int& testNum, const string MESSAGE, const vector<string>& LHS, const vector<string>& RHS) {
int test_vector_string(int& testNum, const string MESSAGE,
const vector<string>& LHS, const vector<string>& RHS) {
cout << "Test #" << setw(3) << right << ++testNum;
cout << setw(MESSAGE_WIDTH) << right;
cout << MESSAGE << ": ";
@ -64,8 +77,8 @@ int test_vector_string(int& testNum, const string MESSAGE, const vector<string>&
bool vectorsMatch = (LHS.size() == RHS.size());
if (vectorsMatch) {
for(unsigned int i = 0; i < LHS.size(); i++) {
if(LHS.at(i) != RHS.at(i)) {
for (unsigned int i = 0; i < LHS.size(); i++) {
if (LHS.at(i) != RHS.at(i)) {
vectorsMatch = false;
break;
}
@ -75,16 +88,16 @@ int test_vector_string(int& testNum, const string MESSAGE, const vector<string>&
cout << " PASSED \n";
} else {
cout << " !!>FAILED<!! Returned: {";
for(unsigned int i = 0; i < LHS.size(); i++) {
for (unsigned int i = 0; i < LHS.size(); i++) {
cout << "\"" << LHS.at(i) << "\"";
if(i < LHS.size() - 1) {
if (i < LHS.size() - 1) {
cout << ", ";
}
}
cout << "} != Expected: {";
for(unsigned int i = 0; i < RHS.size(); i++) {
for (unsigned int i = 0; i < RHS.size(); i++) {
cout << "\"" << RHS.at(i) << "\"";
if(i < RHS.size() - 1) {
if (i < RHS.size() - 1) {
cout << ", ";
}
}
@ -95,162 +108,365 @@ int test_vector_string(int& testNum, const string MESSAGE, const vector<string>&
bool run_all_tests() {
int totalPassed = 0, totalNumTests = 0;
totalPassed += test_size_t( totalNumTests, "Testing string_length()", string_length("Now") , 3 );
totalPassed += test_size_t( totalNumTests, "Testing string_length()", string_length("Tablet") , 6 );
totalPassed += test_size_t( totalNumTests, "Testing string_length()", string_length("The length is 17.") , 17 );
totalPassed += test_size_t( totalNumTests, "Testing string_length()", string_length("A") , 1 );
totalPassed += test_size_t( totalNumTests, "Testing string_length()", string_length("") , 0 );
totalPassed += test_size_t(totalNumTests, "Testing string_length()",
string_length("Now"), 3);
totalPassed += test_size_t(totalNumTests, "Testing string_length()",
string_length("Tablet"), 6);
totalPassed += test_size_t(totalNumTests, "Testing string_length()",
string_length("The length is 17."), 17);
totalPassed += test_size_t(totalNumTests, "Testing string_length()",
string_length("A"), 1);
totalPassed += test_size_t(totalNumTests, "Testing string_length()",
string_length(""), 0);
cout << endl;
totalPassed += test_char( totalNumTests, "Testing string_char_at()", string_char_at("Elephant", 3) , 'p' );
totalPassed += test_char( totalNumTests, "Testing string_char_at()", string_char_at("Giraffe", 2) , 'r' );
totalPassed += test_char( totalNumTests, "Testing string_char_at()", string_char_at("Armadillo", 4) , 'd' );
totalPassed += test_char(totalNumTests, "Testing string_char_at()",
string_char_at("Elephant", 3), 'p');
totalPassed += test_char(totalNumTests, "Testing string_char_at()",
string_char_at("Giraffe", 2), 'r');
totalPassed += test_char(totalNumTests, "Testing string_char_at()",
string_char_at("Armadillo", 4), 'd');
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_append()", string_append("There's a ", "natural mystic.") , "There's a natural mystic." );
totalPassed += test_string( totalNumTests, "Testing string_append()", string_append("It's the ", "eye of the tiger.") , "It's the eye of the tiger." );
totalPassed += test_string( totalNumTests, "Testing string_append()", string_append("Some", "thing") , "Something" );
totalPassed += test_string( totalNumTests, "Testing string_append()", string_append("", "Nothing to something.") , "Nothing to something." );
totalPassed += test_string( totalNumTests, "Testing string_append()", string_append("Not adding anything.", "") , "Not adding anything." );
totalPassed += test_string( totalNumTests, "Testing string_append()", string_append("", "") , "" );
totalPassed += test_string(totalNumTests, "Testing string_append()",
string_append("There's a ", "natural mystic."),
"There's a natural mystic.");
totalPassed += test_string(totalNumTests, "Testing string_append()",
string_append("It's the ", "eye of the tiger."),
"It's the eye of the tiger.");
totalPassed += test_string(totalNumTests, "Testing string_append()",
string_append("Some", "thing"), "Something");
totalPassed += test_string(totalNumTests, "Testing string_append()",
string_append("", "Nothing to something."),
"Nothing to something.");
totalPassed += test_string(totalNumTests, "Testing string_append()",
string_append("Not adding anything.", ""),
"Not adding anything.");
totalPassed += test_string(totalNumTests, "Testing string_append()",
string_append("", ""), "");
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_insert()", string_insert("If you carefully.", "listen ", 7) , "If you listen carefully." );
totalPassed += test_string( totalNumTests, "Testing string_insert()", string_insert("carefully.", "Watch ", 0) , "Watch carefully." );
totalPassed += test_string( totalNumTests, "Testing string_insert()", string_insert("Iner", "t", 2) , "Inter" );
totalPassed += test_string( totalNumTests, "Testing string_insert()", string_insert("", "TA DA!", 0) , "TA DA!" );
totalPassed += test_string( totalNumTests, "Testing string_insert()", string_insert("TA DA!", "", 0) , "TA DA!" );
totalPassed += test_string( totalNumTests, "Testing string_insert()", string_insert("", "", 0) , "" );
totalPassed += test_string(totalNumTests, "Testing string_insert()",
string_insert("If you carefully.", "listen ", 7),
"If you listen carefully.");
totalPassed +=
test_string(totalNumTests, "Testing string_insert()",
string_insert("carefully.", "Watch ", 0), "Watch carefully.");
totalPassed += test_string(totalNumTests, "Testing string_insert()",
string_insert("Iner", "t", 2), "Inter");
totalPassed += test_string(totalNumTests, "Testing string_insert()",
string_insert("", "TA DA!", 0), "TA DA!");
totalPassed += test_string(totalNumTests, "Testing string_insert()",
string_insert("TA DA!", "", 0), "TA DA!");
totalPassed += test_string(totalNumTests, "Testing string_insert()",
string_insert("", "", 0), "");
cout << endl;
totalPassed += test_size_t( totalNumTests, "Testing string_find()", string_find("Have to face reality now.", 'o') , 6 );
totalPassed += test_size_t( totalNumTests, "Testing string_find()", string_find("Have to face reality now.", 'e') , 3 );
totalPassed += test_size_t( totalNumTests, "Testing string_find()", string_find("Have to face reality now.", 'r') , 13 );
totalPassed += test_size_t( totalNumTests, "Testing string_find()", string_find("Have to face reality now.", 'a') , 1 );
totalPassed += test_size_t( totalNumTests, "Testing string_find()", string_find("Have to face reality now.", 'q') , string::npos );
totalPassed += test_size_t( totalNumTests, "Testing string_find()", string_find("Have to face reality now.", 'h') , string::npos );
totalPassed += test_size_t( totalNumTests, "Testing string_find()", string_find("", '?') , string::npos );
totalPassed += test_size_t(totalNumTests, "Testing string_find()",
string_find("Have to face reality now.", 'o'), 6);
totalPassed += test_size_t(totalNumTests, "Testing string_find()",
string_find("Have to face reality now.", 'e'), 3);
totalPassed += test_size_t(totalNumTests, "Testing string_find()",
string_find("Have to face reality now.", 'r'), 13);
totalPassed += test_size_t(totalNumTests, "Testing string_find()",
string_find("Have to face reality now.", 'a'), 1);
totalPassed +=
test_size_t(totalNumTests, "Testing string_find()",
string_find("Have to face reality now.", 'q'), string::npos);
totalPassed +=
test_size_t(totalNumTests, "Testing string_find()",
string_find("Have to face reality now.", 'h'), string::npos);
totalPassed += test_size_t(totalNumTests, "Testing string_find()",
string_find("", '?'), string::npos);
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_substring()", string_substring("Such a natural mystic", 7, 7) , "natural" );
totalPassed += test_string( totalNumTests, "Testing string_substring()", string_substring("Such a natural mystic", 8, 2) , "at" );
totalPassed += test_string( totalNumTests, "Testing string_substring()", string_substring("Such a natural mystic", 0, 4) , "Such" );
totalPassed += test_string( totalNumTests, "Testing string_substring()", string_substring("Something to nothing.", 0, 0) , "" );
totalPassed += test_string( totalNumTests, "Testing string_substring()", string_substring("Something to nothing.", 10, 0) , "" );
totalPassed += test_string( totalNumTests, "Testing string_substring()", string_substring("", 0, 0) , "" );
totalPassed +=
test_string(totalNumTests, "Testing string_substring()",
string_substring("Such a natural mystic", 7, 7), "natural");
totalPassed +=
test_string(totalNumTests, "Testing string_substring()",
string_substring("Such a natural mystic", 8, 2), "at");
totalPassed +=
test_string(totalNumTests, "Testing string_substring()",
string_substring("Such a natural mystic", 0, 4), "Such");
totalPassed +=
test_string(totalNumTests, "Testing string_substring()",
string_substring("Something to nothing.", 0, 0), "");
totalPassed +=
test_string(totalNumTests, "Testing string_substring()",
string_substring("Something to nothing.", 10, 0), "");
totalPassed += test_string(totalNumTests, "Testing string_substring()",
string_substring("", 0, 0), "");
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_replace()", string_replace("Strings are not the way", "Strings", "Things") , "Things are not the way" );
totalPassed += test_string( totalNumTests, "Testing string_replace()", string_replace("Strings are not the way", "not the", "the") , "Strings are the way" );
totalPassed += test_string( totalNumTests, "Testing string_replace()", string_replace("Show me the things", "things", "way") , "Show me the way" );
totalPassed += test_string( totalNumTests, "Testing string_replace()", string_replace("Show me the things", "car", "way") , "Show me the things" );
totalPassed += test_string( totalNumTests, "Testing string_replace()", string_replace("Show me the things", "the ", "") , "Show me things" );
totalPassed += test_string( totalNumTests, "Testing string_replace()", string_replace("", "now what?", "hmm") , "" );
totalPassed += test_string( totalNumTests, "Testing string_replace()", string_replace("", "now", "") , "" );
totalPassed += test_string(
totalNumTests, "Testing string_replace()",
string_replace("Strings are not the way", "Strings", "Things"),
"Things are not the way");
totalPassed +=
test_string(totalNumTests, "Testing string_replace()",
string_replace("Strings are not the way", "not the", "the"),
"Strings are the way");
totalPassed += test_string(
totalNumTests, "Testing string_replace()",
string_replace("Show me the things", "things", "way"), "Show me the way");
totalPassed += test_string(totalNumTests, "Testing string_replace()",
string_replace("Show me the things", "car", "way"),
"Show me the things");
totalPassed += test_string(totalNumTests, "Testing string_replace()",
string_replace("Show me the things", "the ", ""),
"Show me things");
totalPassed += test_string(totalNumTests, "Testing string_replace()",
string_replace("", "now what?", "hmm"), "");
totalPassed += test_string(totalNumTests, "Testing string_replace()",
string_replace("", "now", ""), "");
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_first_word()", string_first_word("The quick brown fox jumped over the lazy dog") , "The" );
totalPassed += test_string( totalNumTests, "Testing string_first_word()", string_first_word("A man a plan a canal Panama") , "A" );
totalPassed += test_string( totalNumTests, "Testing string_first_word()", string_first_word("I have the hang of this") , "I" );
totalPassed += test_string( totalNumTests, "Testing string_first_word()", string_first_word("Testing string_first_word()") , "Testing" );
totalPassed += test_string( totalNumTests, "Testing string_first_word()", string_first_word("Single") , "Single" );
totalPassed += test_string( totalNumTests, "Testing string_first_word()", string_first_word("Uh oh") , "Uh" );
totalPassed += test_string( totalNumTests, "Testing string_first_word()", string_first_word("") , "" );
totalPassed += test_string(
totalNumTests, "Testing string_first_word()",
string_first_word("The quick brown fox jumped over the lazy dog"), "The");
totalPassed +=
test_string(totalNumTests, "Testing string_first_word()",
string_first_word("A man a plan a canal Panama"), "A");
totalPassed += test_string(totalNumTests, "Testing string_first_word()",
string_first_word("I have the hang of this"), "I");
totalPassed +=
test_string(totalNumTests, "Testing string_first_word()",
string_first_word("Testing string_first_word()"), "Testing");
totalPassed += test_string(totalNumTests, "Testing string_first_word()",
string_first_word("Single"), "Single");
totalPassed += test_string(totalNumTests, "Testing string_first_word()",
string_first_word("Uh oh"), "Uh");
totalPassed += test_string(totalNumTests, "Testing string_first_word()",
string_first_word(""), "");
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_remove_first_word()", string_remove_first_word("The quick brown fox jumped over the lazy dog") , "quick brown fox jumped over the lazy dog" );
totalPassed += test_string( totalNumTests, "Testing string_remove_first_word()", string_remove_first_word("Testing string_remove_first_word()") , "string_remove_first_word()" );
totalPassed += test_string( totalNumTests, "Testing string_remove_first_word()", string_remove_first_word("Goodbye") , "" );
totalPassed += test_string( totalNumTests, "Testing string_remove_first_word()", string_remove_first_word("") , "" );
totalPassed += test_string( totalNumTests, "Testing string_remove_first_word() twice",string_remove_first_word(string_remove_first_word("The quick brown fox jumped over the lazy dog")) , "brown fox jumped over the lazy dog" );
totalPassed += test_string( totalNumTests, "Testing string_remove_first_word() twice",string_remove_first_word("Testing string_remove_first_word()") , "" );
totalPassed += test_string( totalNumTests, "Testing string_remove_first_word() twice",string_remove_first_word(string_remove_first_word("Goodbye")) , "" );
totalPassed += test_string(
totalNumTests, "Testing string_remove_first_word()",
string_remove_first_word("The quick brown fox jumped over the lazy dog"),
"quick brown fox jumped over the lazy dog");
totalPassed += test_string(
totalNumTests, "Testing string_remove_first_word()",
string_remove_first_word("Testing string_remove_first_word()"),
"string_remove_first_word()");
totalPassed +=
test_string(totalNumTests, "Testing string_remove_first_word()",
string_remove_first_word("Goodbye"), "");
totalPassed +=
test_string(totalNumTests, "Testing string_remove_first_word()",
string_remove_first_word(""), "");
totalPassed +=
test_string(totalNumTests, "Testing string_remove_first_word() twice",
string_remove_first_word(string_remove_first_word(
"The quick brown fox jumped over the lazy dog")),
"brown fox jumped over the lazy dog");
totalPassed +=
test_string(totalNumTests, "Testing string_remove_first_word() twice",
string_remove_first_word(string_remove_first_word(
"Testing string_remove_first_word()")),
"");
totalPassed += test_string(
totalNumTests, "Testing string_remove_first_word() twice",
string_remove_first_word(string_remove_first_word("Goodbye")), "");
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_second_word()", string_second_word("The quick brown fox jumped over the lazy dog") , "quick" );
totalPassed += test_string( totalNumTests, "Testing string_second_word()", string_second_word("A man a plan a canal Panama") , "man" );
totalPassed += test_string( totalNumTests, "Testing string_second_word()", string_second_word("Testing string_second_word()") , "string_second_word()" );
totalPassed += test_string( totalNumTests, "Testing string_second_word()", string_second_word("I have the hang of this") , "have" );
totalPassed += test_string( totalNumTests, "Testing string_second_word()", string_second_word("Uh oh") , "oh" );
totalPassed += test_string( totalNumTests, "Testing string_second_word()", string_second_word("Single") , "" );
totalPassed += test_string( totalNumTests, "Testing string_second_word()", string_second_word("") , "" );
totalPassed += test_string(
totalNumTests, "Testing string_second_word()",
string_second_word("The quick brown fox jumped over the lazy dog"),
"quick");
totalPassed +=
test_string(totalNumTests, "Testing string_second_word()",
string_second_word("A man a plan a canal Panama"), "man");
totalPassed += test_string(totalNumTests, "Testing string_second_word()",
string_second_word("Testing string_second_word()"),
"string_second_word()");
totalPassed +=
test_string(totalNumTests, "Testing string_second_word()",
string_second_word("I have the hang of this"), "have");
totalPassed += test_string(totalNumTests, "Testing string_second_word()",
string_second_word("Uh oh"), "oh");
totalPassed += test_string(totalNumTests, "Testing string_second_word()",
string_second_word("Single"), "");
totalPassed += test_string(totalNumTests, "Testing string_second_word()",
string_second_word(""), "");
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_third_word()", string_third_word("The quick brown fox jumped over the lazy dog") , "brown" );
totalPassed += test_string( totalNumTests, "Testing string_third_word()", string_third_word("A man a plan a canal Panama") , "a" );
totalPassed += test_string( totalNumTests, "Testing string_third_word()", string_third_word("I have the hang of this") , "the" );
totalPassed += test_string( totalNumTests, "Testing string_third_word()", string_third_word("Uh oh no") , "no" );
totalPassed += test_string( totalNumTests, "Testing string_third_word()", string_third_word("Uh oh") , "" );
totalPassed += test_string( totalNumTests, "Testing string_third_word()", string_third_word("Single") , "" );
totalPassed += test_string( totalNumTests, "Testing string_third_word()", string_third_word("") , "" );
totalPassed += test_string(
totalNumTests, "Testing string_third_word()",
string_third_word("The quick brown fox jumped over the lazy dog"),
"brown");
totalPassed +=
test_string(totalNumTests, "Testing string_third_word()",
string_third_word("A man a plan a canal Panama"), "a");
totalPassed +=
test_string(totalNumTests, "Testing string_third_word()",
string_third_word("I have the hang of this"), "the");
totalPassed += test_string(totalNumTests, "Testing string_third_word()",
string_third_word("Uh oh no"), "no");
totalPassed += test_string(totalNumTests, "Testing string_third_word()",
string_third_word("Uh oh"), "");
totalPassed += test_string(totalNumTests, "Testing string_third_word()",
string_third_word("Single"), "");
totalPassed += test_string(totalNumTests, "Testing string_third_word()",
string_third_word(""), "");
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_nth_word(1)", string_nth_word("The quick brown fox jumped over the lazy dog", 1) , "The" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(2)", string_nth_word("The quick brown fox jumped over the lazy dog", 2) , "quick" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(3)", string_nth_word("The quick brown fox jumped over the lazy dog", 3) , "brown" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(4)", string_nth_word("The quick brown fox jumped over the lazy dog", 4) , "fox" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(5)", string_nth_word("The quick brown fox jumped over the lazy dog", 5) , "jumped" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(6)", string_nth_word("The quick brown fox jumped over the lazy dog", 6) , "over" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(7)", string_nth_word("The quick brown fox jumped over the lazy dog", 7) , "the" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(8)", string_nth_word("The quick brown fox jumped over the lazy dog", 8) , "lazy" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(9)", string_nth_word("The quick brown fox jumped over the lazy dog", 9) , "dog" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(10)", string_nth_word("The quick brown fox jumped over the lazy dog", 10) , "" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(11)", string_nth_word("The quick brown fox jumped over the lazy dog", 11) , "" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(1)", string_nth_word("", 1) , "" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(2)", string_nth_word("", 2) , "" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(3)", string_nth_word("", 3) , "" );
totalPassed += test_string( totalNumTests, "Testing string_nth_word(10)", string_nth_word("", 10) , "" );
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(1)",
string_nth_word("The quick brown fox jumped over the lazy dog", 1),
"The");
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(2)",
string_nth_word("The quick brown fox jumped over the lazy dog", 2),
"quick");
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(3)",
string_nth_word("The quick brown fox jumped over the lazy dog", 3),
"brown");
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(4)",
string_nth_word("The quick brown fox jumped over the lazy dog", 4),
"fox");
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(5)",
string_nth_word("The quick brown fox jumped over the lazy dog", 5),
"jumped");
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(6)",
string_nth_word("The quick brown fox jumped over the lazy dog", 6),
"over");
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(7)",
string_nth_word("The quick brown fox jumped over the lazy dog", 7),
"the");
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(8)",
string_nth_word("The quick brown fox jumped over the lazy dog", 8),
"lazy");
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(9)",
string_nth_word("The quick brown fox jumped over the lazy dog", 9),
"dog");
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(10)",
string_nth_word("The quick brown fox jumped over the lazy dog", 10), "");
totalPassed += test_string(
totalNumTests, "Testing string_nth_word(11)",
string_nth_word("The quick brown fox jumped over the lazy dog", 11), "");
totalPassed += test_string(totalNumTests, "Testing string_nth_word(1)",
string_nth_word("", 1), "");
totalPassed += test_string(totalNumTests, "Testing string_nth_word(2)",
string_nth_word("", 2), "");
totalPassed += test_string(totalNumTests, "Testing string_nth_word(3)",
string_nth_word("", 3), "");
totalPassed += test_string(totalNumTests, "Testing string_nth_word(10)",
string_nth_word("", 10), "");
cout << endl;
vector<string> tokens1 = {"The", "quick", "brown", "fox", "jumped", "over", "the", "lazy", "dog"};
totalPassed += test_vector_string( totalNumTests, "Testing string_tokenize()", string_tokenize("The quick brown fox jumped over the lazy dog", ' '), tokens1 );
totalPassed += test_vector_string( totalNumTests, "Testing string_tokenize()", string_tokenize("The@quick@brown@fox@jumped@over@the@lazy@dog", '@'), tokens1 );
vector<string> tokens1 = {"The", "quick", "brown", "fox", "jumped",
"over", "the", "lazy", "dog"};
totalPassed += test_vector_string(
totalNumTests, "Testing string_tokenize()",
string_tokenize("The quick brown fox jumped over the lazy dog", ' '),
tokens1);
totalPassed += test_vector_string(
totalNumTests, "Testing string_tokenize()",
string_tokenize("The@quick@brown@fox@jumped@over@the@lazy@dog", '@'),
tokens1);
vector<string> tokens2 = {"The quick brown fox jumped over the lazy dog"};
totalPassed += test_vector_string( totalNumTests, "Testing string_tokenize()", string_tokenize("The quick brown fox jumped over the lazy dog", '*'), tokens2 );
totalPassed += test_vector_string(
totalNumTests, "Testing string_tokenize()",
string_tokenize("The quick brown fox jumped over the lazy dog", '*'),
tokens2);
vector<string> tokens3 = {""};
totalPassed += test_vector_string( totalNumTests, "Testing string_tokenize()", string_tokenize("", '*'), tokens3 );
totalPassed += test_vector_string(totalNumTests, "Testing string_tokenize()",
string_tokenize("", '*'), tokens3);
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_substitute()", string_substitute("The Gxxgle", 'x', 'o') , "The Google" );
totalPassed += test_string( totalNumTests, "Testing string_substitute()", string_substitute("$chool of Mine$", '$', 's') , "school of Mines" );
totalPassed += test_string( totalNumTests, "Testing string_substitute()", string_substitute("$chool of Mine$", '+', '*') , "$chool of Mine$" );
totalPassed += test_string( totalNumTests, "Testing string_substitute() twice", string_substitute(string_substitute("D--", '-', '+'), 'D', 'C') , "C++" );
totalPassed +=
test_string(totalNumTests, "Testing string_substitute()",
string_substitute("The Gxxgle", 'x', 'o'), "The Google");
totalPassed += test_string(totalNumTests, "Testing string_substitute()",
string_substitute("$chool of Mine$", '$', 's'),
"school of Mines");
totalPassed += test_string(totalNumTests, "Testing string_substitute()",
string_substitute("$chool of Mine$", '+', '*'),
"$chool of Mine$");
totalPassed += test_string(
totalNumTests, "Testing string_substitute() twice",
string_substitute(string_substitute("D--", '-', '+'), 'D', 'C'), "C++");
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_to_lower()", string_to_lower("This SHOULD be LOWER case") , "this should be lower case" );
totalPassed += test_string( totalNumTests, "Testing string_to_lower()", string_to_lower("MNASDF874792L[]//.;[\t],") , "mnasdf874792l[]//.;[\t]," );
totalPassed += test_string( totalNumTests, "Testing string_to_lower()", string_to_lower("C++") , "c++" );
totalPassed += test_string( totalNumTests, "Testing string_to_lower()", string_to_lower("this is already lower case") , "this is already lower case" );
totalPassed += test_string( totalNumTests, "Testing string_to_lower()", string_to_lower("1234567890,./;'[]") , "1234567890,./;'[]" );
totalPassed += test_string(totalNumTests, "Testing string_to_lower()",
string_to_lower("This SHOULD be LOWER case"),
"this should be lower case");
totalPassed += test_string(totalNumTests, "Testing string_to_lower()",
string_to_lower("MNASDF874792L[]//.;[\t],"),
"mnasdf874792l[]//.;[\t],");
totalPassed += test_string(totalNumTests, "Testing string_to_lower()",
string_to_lower("C++"), "c++");
totalPassed += test_string(totalNumTests, "Testing string_to_lower()",
string_to_lower("this is already lower case"),
"this is already lower case");
totalPassed +=
test_string(totalNumTests, "Testing string_to_lower()",
string_to_lower("1234567890,./;'[]"), "1234567890,./;'[]");
cout << endl;
totalPassed += test_string( totalNumTests, "Testing string_to_upper()", string_to_upper("This SHOULD be upper case") , "THIS SHOULD BE UPPER CASE" );
totalPassed += test_string( totalNumTests, "Testing string_to_upper()", string_to_upper("mnasdf874792l[]//.;[\t],") , "MNASDF874792L[]//.;[\t]," );
totalPassed += test_string( totalNumTests, "Testing string_to_upper()", string_to_upper("c++") , "C++" );
totalPassed += test_string( totalNumTests, "Testing string_to_upper()", string_to_upper("THIS IS ALREADY UPPER CASE") , "THIS IS ALREADY UPPER CASE" );
totalPassed += test_string( totalNumTests, "Testing string_to_upper()", string_to_upper("1234567890,./;'[]") , "1234567890,./;'[]" );
totalPassed += test_string(totalNumTests, "Testing string_to_upper()",
string_to_upper("This SHOULD be upper case"),
"THIS SHOULD BE UPPER CASE");
totalPassed += test_string(totalNumTests, "Testing string_to_upper()",
string_to_upper("mnasdf874792l[]//.;[\t],"),
"MNASDF874792L[]//.;[\t],");
totalPassed += test_string(totalNumTests, "Testing string_to_upper()",
string_to_upper("c++"), "C++");
totalPassed += test_string(totalNumTests, "Testing string_to_upper()",
string_to_upper("THIS IS ALREADY UPPER CASE"),
"THIS IS ALREADY UPPER CASE");
totalPassed +=
test_string(totalNumTests, "Testing string_to_upper()",
string_to_upper("1234567890,./;'[]"), "1234567890,./;'[]");
cout << endl;
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("C++", "c++") , -1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("C++", "C++") , 0 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("c++", "c++") , 0 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("c++", "C++") , 1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("short", "shorter") , -1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("longer", "long") , 1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("after", "later") , -1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("later", "after") , 1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("G", "g") , -1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("g", "G") , 1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("GoOse", "Bye") , 1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("Equal", "Equal") , 0 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("Not Empty", "") , 1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("", "Not Empty") , -1 );
totalPassed += test_int( totalNumTests, "Testing string_compare()", string_compare("", "") , 0 );
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("C++", "c++"), -1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("C++", "C++"), 0);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("c++", "c++"), 0);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("c++", "C++"), 1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("short", "shorter"), -1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("longer", "long"), 1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("after", "later"), -1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("later", "after"), 1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("G", "g"), -1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("g", "G"), 1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("GoOse", "Bye"), 1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("Equal", "Equal"), 0);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("Not Empty", ""), 1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("", "Not Empty"), -1);
totalPassed += test_int(totalNumTests, "Testing string_compare()",
string_compare("", ""), 0);
cout << endl;
cout << "Tests Passed: " << setw(3) << right << totalPassed << " / " << setw(3) << totalNumTests << " (" << setprecision(0) << fixed << totalPassed * 100.0f / totalNumTests << "%)" << endl << endl;
cout << "Tests Passed: " << setw(3) << right << totalPassed << " / "
<< setw(3) << totalNumTests << " (" << setprecision(0) << fixed
<< totalPassed * 100.0f / totalNumTests << "%)" << endl
<< endl;
return (totalPassed == totalNumTests);
}

View file

@ -20,7 +20,8 @@ bool run_all_tests();
* @param RHS expected result
* @return 1 if test passed, 0 otherwise
*/
int test_int(int& testNum, const std::string MESSAGE, const int LHS, const int RHS);
int test_int(int& testNum, const std::string MESSAGE, const int LHS,
const int RHS);
/**
* @brief A generic test function, that simply prints "PASSED" if LHS equals RHS
@ -32,7 +33,8 @@ int test_int(int& testNum, const std::string MESSAGE, const int LHS, const int R
* @param RHS expected result
* @return 1 if test passed, 0 otherwise
*/
int test_unsigned_long(int& testNum, const std::string MESSAGE, const unsigned long LHS, const unsigned long RHS);
int test_unsigned_long(int& testNum, const std::string MESSAGE,
const unsigned long LHS, const unsigned long RHS);
/**
* @brief A generic test function, that simply prints "PASSED" if LHS equals RHS
@ -44,7 +46,8 @@ int test_unsigned_long(int& testNum, const std::string MESSAGE, const unsigned l
* @param RHS expected result
* @return 1 if test passed, 0 otherwise
*/
int test_char(int& testNum, const std::string MESSAGE, const char LHS, const char RHS);
int test_char(int& testNum, const std::string MESSAGE, const char LHS,
const char RHS);
/**
* @brief A generic test function, that simply prints "PASSED" if LHS equals RHS
@ -56,7 +59,8 @@ int test_char(int& testNum, const std::string MESSAGE, const char LHS, const cha
* @param RHS expected result
* @return 1 if test passed, 0 otherwise
*/
int test_string(int& testNum, const std::string MESSAGE, const std::string LHS, const std::string RHS);
int test_string(int& testNum, const std::string MESSAGE, const std::string LHS,
const std::string RHS);
/**
* @brief A generic test function, that simply prints "PASSED" if LHS equals RHS
@ -68,6 +72,8 @@ int test_string(int& testNum, const std::string MESSAGE, const std::string LHS,
* @param RHS expected result
* @return 1 if test passed, 0 otherwise
*/
int test_vector_string(int& testNum, const std::string MESSAGE, const std::vector<std::string>& LHS, const std::vector<std::string>& RHS);
int test_vector_string(int& testNum, const std::string MESSAGE,
const std::vector<std::string>& LHS,
const std::vector<std::string>& RHS);
#endif

Binary file not shown.