int compare_string(Char const *begin,Right const &r)
 {
     Char const *end = begin;
     while(*end!=0)
         end++;
     return compare_text(begin,end,r.begin(),r.end());
 }
 int compare_string(Left const &l,Char const *begin)
 {
     Char const *end = begin;
     while(*end!=0)
         end++;
     return compare_text(l.begin(),l.end(),begin,end);
 }
void CTestsTest::c_test_keys_in_text()
{
    int num_of_strings=3, num_of_keys=2, temp, i;

    temp=num_of_strings;

    char strings[3][6] = {"ololo", "lol", "o"};

    char **a_strings;
    a_strings = (char**)malloc(temp*sizeof(char*));
    for(num_of_strings=0; num_of_strings<temp; num_of_strings++)
    {
        a_strings[num_of_strings] = (char*)malloc(strlen(strings[num_of_strings]));
        a_strings[num_of_strings] = strings[num_of_strings];
    }

    temp=num_of_keys;

    char keys[2][2] = {"o", "l"};

    char **a_keys;
    a_keys = (char**)malloc(temp*sizeof(char*));
    for(num_of_keys=0; num_of_keys<temp; num_of_keys++)
    {
        a_keys[num_of_keys] = (char*)malloc(strlen(keys[num_of_keys]));
        a_keys[num_of_keys] = keys[num_of_keys];
    }

    int *result;
    result = (int*)malloc(num_of_keys*sizeof(int));

    c_calc_keys_in_text(a_strings, a_keys, num_of_strings, num_of_keys, result);

    int result_r[2] = {5, 4};

    for (i=0; i<num_of_keys; i++)
    QCOMPARE(compare_text(result, result_r), 0);

    free(result);

    for(i=0; i<num_of_strings; i++)
    {
        free(a_strings[i]);
    }
    free(a_strings);

    for(i=0; i<num_of_keys; i++)
    {
        free(a_keys[i]);
    }
    free(a_keys);
}
 int compare_text(Left const &l,Right const &r)
 {
     return compare_text(l.begin(),l.end(),r.begin(),r.end());
 }