Added the testCase and memory profiler
[SXSI/TextCollection.git] / testTextCollection.cpp
1 // Test driver for text collection
2 #include <iostream>
3 #include <cstdlib>
4 #include "HeapProfiler.h"
5 using std::cout;
6 using std::endl;
7
8 #include "TextCollection.h"
9 using SXSI::TextCollection;
10
11 void printDocumentResult(TextCollection::document_result dr)
12 {
13     TextCollection::document_result::iterator it;
14     printf("document result:");
15     for (it = dr.begin(); it != dr.end(); ++it)
16         printf(" %i", *it);
17     printf("\n");
18     fflush(stdout);
19 }
20
21 void printFullResult(TextCollection::full_result fr)
22 {
23     TextCollection::full_result::iterator it;
24     printf("full result:");
25     for (it = fr.begin(); it != fr.end(); ++it)
26         printf(" (%i, %lu)", (*it).first, (*it).second);
27     printf("\n");
28     fflush(stdout);
29 }
30
31 int main()
32 {
33   std::string kbd;
34   uchar * str = (uchar*) "";
35
36   TextCollection *csa = TextCollection::InitTextCollection(64);
37   for(int i = 0; i<1000000; i++){
38     csa->InsertText(str);    
39   };
40   std::cerr << "Before MakeStatic() [press enter]\n";
41   std::cin >> kbd;
42   std::cerr << "heap usage: " << HeapProfiler::GetHeapConsumption()/(1024*1024) << " Mbytes" << std::endl;
43   csa->MakeStatic();
44   std::cerr << "After MakeStatic() [press enter]\n";
45   std::cin >> kbd;
46   std::cerr << "heap usage: " << HeapProfiler::GetHeapConsumption()/(1024*1024) << " Mbytes" << std::endl;
47   delete csa;
48   std::cerr << "After Delete [press enter]\n";
49   std::cerr << "heap usage: " << HeapProfiler::GetHeapConsumption()/(1024*1024) << " Mbytes" << std::endl;
50   std::cin >> kbd;
51   return 0;
52 }