Added TextCollection::Save() and TextCollection::Load() functionality
[SXSI/TextCollection.git] / testTextCollection.cpp
1 // Test driver for text collection
2 #include <iostream>
3 using std::cout;
4 using std::endl;
5
6 #include "TextCollection.h"
7 using SXSI::TextCollection;
8
9 void printDocumentResult(TextCollection::document_result dr)
10 {
11     TextCollection::document_result::iterator it;
12     printf("document result:");
13     for (it = dr.begin(); it != dr.end(); ++it)
14         printf(" %i", *it);
15     printf("\n");
16     fflush(stdout);
17 }
18
19 void printFullResult(TextCollection::full_result fr)
20 {
21     TextCollection::full_result::iterator it;
22     printf("full result:");
23     for (it = fr.begin(); it != fr.end(); ++it)
24         printf(" (%i, %lu)", (*it).first, (*it).second);
25     printf("\n");
26     fflush(stdout);
27 }
28
29 int main()
30 {
31     uchar *text = (uchar*) "acabab";
32     TextCollection *csa = TextCollection::InitTextCollection(1);
33     csa->InsertText(text);
34     text = (uchar*) "abaca";
35     csa->InsertText(text);
36     text = (uchar*) "abacb";
37     csa->InsertText(text);
38
39     csa->MakeStatic();
40 //    FILE *pFile = fopen ( "mysave.txt" , "rb" );
41 //    csa->Load(pFile);
42     
43     text = csa->GetText(0);
44     cout << "Text 0: \"" << text << "\"" << endl;
45     delete [] text;
46     text = csa->GetText(1);
47     cout << "Text 1: \"" << text << "\"" << endl;
48     delete [] text;
49     text = csa->GetText(2);
50     cout << "Text 2: \"" << text << "\"" << endl;
51     delete [] text;
52     
53     text = csa->GetText(2, 2, 4);
54     cout << "Substring of Text 3: \"" << text << "\"" << endl;
55     delete [] text;
56     
57     printf("n:o contains: %u\n", csa->CountContains((uchar *)"ac"));
58     printf("n:o suffix: %u\n", csa->CountSuffix((uchar *)"b"));
59     printf("n:o equal: %u\n", csa->CountEqual((uchar *)"acabab"));
60     printf("is equal: %u\n", csa->IsEqual((uchar *)"abacb"));
61     
62     TextCollection::document_result dr;
63     dr = csa->Contains((uchar*)"ab");
64     printDocumentResult(dr);
65
66     TextCollection::full_result fr;
67     fr = csa->FullContains((uchar *)"ab");
68     printFullResult(fr);
69
70 //    FILE *pFile2 = fopen ( "mysave.txt" , "wb" );
71 //    csa->Save(pFile2);
72
73     delete csa;
74 }