test for StringSet
authorVictor Kirhenshtein <victor@netxms.org>
Thu, 18 Sep 2014 08:39:24 +0000 (11:39 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Thu, 18 Sep 2014 08:39:24 +0000 (11:39 +0300)
tests/include/testtools.h
tests/test-libnetxms/test-libnetxms.cpp

index 7f1e0b4..22b2233 100644 (file)
@@ -49,6 +49,7 @@ inline void StartTest(const TCHAR *name)
       filler[0] = 0;
    }
    _tprintf(_T("%s %s "), name, filler);
+   fflush(stdout);
 }
 
 /**
index 616e106..fb0a689 100644 (file)
@@ -126,6 +126,53 @@ static void TestStringMap()
    m->clear();
    AssertEquals(m->size(), 0);
    EndTest(GetCurrentTimeMs() - start);
+
+   delete m;
+}
+
+/**
+ * Test string set
+ */
+static void TestStringSet()
+{
+   StringSet *s = new StringSet();
+
+   StartTest(_T("String set - insert"));
+   INT64 start = GetCurrentTimeMs();
+   for(int i = 0; i < 10000; i++)
+   {
+      TCHAR key[64];
+      _sntprintf(key, 64, _T("key-%d lorem ipsum"), i);
+      s->add(key);
+   }
+   AssertEquals(s->size(), 10000);
+   AssertTrue(s->contains(_T("key-42 lorem ipsum")));
+   EndTest(GetCurrentTimeMs() - start);
+
+   StartTest(_T("String set - replace"));
+   start = GetCurrentTimeMs();
+   for(int i = 0; i < 10000; i++)
+   {
+      TCHAR key[64];
+      _sntprintf(key, 64, _T("key-%d lorem ipsum"), i);
+      s->add(key);
+   }
+   AssertEquals(s->size(), 10000);
+   AssertTrue(s->contains(_T("key-42 lorem ipsum")));
+   EndTest(GetCurrentTimeMs() - start);
+
+   StartTest(_T("String set - contains"));
+   start = GetCurrentTimeMs();
+   AssertTrue(s->contains(_T("key-888 lorem ipsum")));
+   EndTest(GetCurrentTimeMs() - start);
+
+   StartTest(_T("String set - clear"));
+   start = GetCurrentTimeMs();
+   s->clear();
+   AssertEquals(s->size(), 0);
+   EndTest(GetCurrentTimeMs() - start);
+
+   delete s;
 }
 
 /**
@@ -135,5 +182,6 @@ int main(int argc, char *argv)
 {
    TestStringConversion();
    TestStringMap();
+   TestStringSet();
    return 0;
 }