Esempio n. 1
0
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));
}
Esempio n. 2
0
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);
}
Esempio n. 3
0
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);
}