void test_14_pop_element_from_STRING_type_stack(){ string top = "a"; void *result; string inputArr[] = {"s","g","d","a"}; Stack stringData = create_strings(4, inputArr); stringData.top = 3; result = pop(&stringData); ASSERT(strcmp(top, *(string*)result)); }
void test_5_push_element_into_string_type_Stack(){ string data[] = {"a",0,0,0,0}; string inputArr[] = {0,0,0,0,0}; string element = "a"; int result; Stack expected = {data,sizeof(string),5,0}; Stack stringData = create_strings(5, inputArr); result = push(&stringData, &element); ASSERT(areEqualStrings(stringData, expected) && result == 1); }
int main(int argc, char * argv[]) { bool pass = true; { // Empty array of strings. const char * arr[] = { NULL }; std::vector<std::string> strings; create_strings(arr, strings); pass = pass && (search_sparsed_array(strings, "ball") == -1) ; } { // Only empty strings. const char * arr[] = { "", "", "", NULL }; std::vector<std::string> strings; create_strings(arr, strings); pass = pass && (search_sparsed_array(strings, "ball") == -1) ; } { // Only one string. const char * arr[] = { "at", NULL }; std::vector<std::string> strings; create_strings(arr, strings); pass = pass && (search_sparsed_array(strings, "at") == 0) && (search_sparsed_array(strings, "ball") == -1) ; } { // Normal array of strings. const char * arr[] = { "at", "", "", "", "ball", "", "", "car", "", "", "dad", NULL }; std::vector<std::string> strings; create_strings(arr, strings); pass = pass && (search_sparsed_array(strings, "at") == 0) && (search_sparsed_array(strings, "ball") == 4) && (search_sparsed_array(strings, "car") == 7) && (search_sparsed_array(strings, "dad") == 10) ; } { // No empty strings. const char * arr[] = { "at", "ball", "car", "dad", NULL }; std::vector<std::string> strings; create_strings(arr, strings); pass = pass && (search_sparsed_array(strings, "at") == 0) && (search_sparsed_array(strings, "ball") == 1) && (search_sparsed_array(strings, "car") == 2) && (search_sparsed_array(strings, "dad") == 3) ; } { // Have empty strings in both ends. const char * arr[] = { "", "", "", "", "", "at", "", "", "ball", "", "", "car", "", "", "dad", "", "", "", "", "", NULL }; std::vector<std::string> strings; create_strings(arr, strings); pass = pass && (search_sparsed_array(strings, "at") == 5) && (search_sparsed_array(strings, "ball") == 8) && (search_sparsed_array(strings, "car") == 11) && (search_sparsed_array(strings, "dad") == 14) ; } { // A very sparsed array. const char * arr[] = { "at", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "dad", "", NULL }; std::vector<std::string> strings; create_strings(arr, strings); pass = pass && (search_sparsed_array(strings, "at") == 0) && (search_sparsed_array(strings, "ball") == -1) && (search_sparsed_array(strings, "car") == -1) && (search_sparsed_array(strings, "dad") == 21) ; } return (pass ? 0 : -1); }