summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Base/UnitTest/IDGeneratorTest.cpp')
-rw-r--r--Swiften/Base/UnitTest/IDGeneratorTest.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/Swiften/Base/UnitTest/IDGeneratorTest.cpp b/Swiften/Base/UnitTest/IDGeneratorTest.cpp
new file mode 100644
index 0000000..bd96d91
--- /dev/null
+++ b/Swiften/Base/UnitTest/IDGeneratorTest.cpp
@@ -0,0 +1,34 @@
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <set>
+
+#include "Swiften/Base/IDGenerator.h"
+
+using namespace Swift;
+
+class IDGeneratorTest : public CppUnit::TestFixture
+{
+ CPPUNIT_TEST_SUITE(IDGeneratorTest);
+ CPPUNIT_TEST(testGenerate);
+ CPPUNIT_TEST_SUITE_END();
+
+ public:
+ IDGeneratorTest() {}
+
+ void setUp() {
+ generatedIDs_.clear();
+ }
+
+ void testGenerate() {
+ IDGenerator testling;
+ for (unsigned int i = 0; i < 26*4; ++i) {
+ String id = testling.generateID();
+ CPPUNIT_ASSERT(generatedIDs_.insert(id).second);
+ }
+ }
+
+ private:
+ std::set<String> generatedIDs_;
+};
+
+CPPUNIT_TEST_SUITE_REGISTRATION(IDGeneratorTest);