summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-03-02 00:35:36 +0100
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-03-02 00:35:36 +0100
commit231f426708babe0964495ac28a54f0f2835c084a (patch)
tree7775548db606cd1a6a2f1776f92ae8551fc6204b /test
parent596fdab71b8bd116e20e33647d68f1d7a567696e (diff)
Unregistering all registered tokens when TokenRegistry is destroyed
Diffstat (limited to 'test')
-rw-r--r--test/core/parser/stack/TokenRegistryTest.cpp68
1 files changed, 36 insertions, 32 deletions
diff --git a/test/core/parser/stack/TokenRegistryTest.cpp b/test/core/parser/stack/TokenRegistryTest.cpp
index 390851e..20d6cd0 100644
--- a/test/core/parser/stack/TokenRegistryTest.cpp
+++ b/test/core/parser/stack/TokenRegistryTest.cpp
@@ -18,6 +18,7 @@
#include <gtest/gtest.h>
+#include <core/parser/stack/Callbacks.hpp>
#include <core/parser/stack/TokenRegistry.hpp>
namespace ousia {
@@ -40,39 +41,42 @@ public:
TEST(TokenRegistry, simple)
{
ParserCallbacksProxy parser;
- TokenRegistry registry(parser);
-
- ASSERT_EQ(0U, parser.registerTokenCount);
- ASSERT_EQ(0U, parser.unregisterTokenCount);
-
- ASSERT_EQ(1U, registry.registerToken("test"));
- ASSERT_EQ(1U, registry.registerToken("test"));
- ASSERT_EQ(2U, registry.registerToken("test2"));
- ASSERT_EQ(2U, registry.registerToken("test2"));
- ASSERT_EQ(2U, parser.registerTokenCount);
- ASSERT_EQ(0U, parser.unregisterTokenCount);
-
- registry.unregisterToken(1);
- ASSERT_EQ(2U, parser.registerTokenCount);
- ASSERT_EQ(0U, parser.unregisterTokenCount);
-
- registry.unregisterToken(1);
- ASSERT_EQ(2U, parser.registerTokenCount);
- ASSERT_EQ(1U, parser.unregisterTokenCount);
-
- registry.unregisterToken(1);
- ASSERT_EQ(2U, parser.registerTokenCount);
- ASSERT_EQ(1U, parser.unregisterTokenCount);
-
- registry.unregisterToken(2);
- ASSERT_EQ(2U, parser.registerTokenCount);
- ASSERT_EQ(1U, parser.unregisterTokenCount);
-
- registry.unregisterToken(2);
- ASSERT_EQ(2U, parser.registerTokenCount);
- ASSERT_EQ(2U, parser.unregisterTokenCount);
+ {
+ TokenRegistry registry(parser);
+
+ ASSERT_EQ(0U, parser.registerTokenCount);
+ ASSERT_EQ(0U, parser.unregisterTokenCount);
+
+ ASSERT_EQ(1U, registry.registerToken("test"));
+ ASSERT_EQ(1U, registry.registerToken("test"));
+ ASSERT_EQ(2U, registry.registerToken("test2"));
+ ASSERT_EQ(2U, registry.registerToken("test2"));
+ ASSERT_EQ(3U, registry.registerToken("test3"));
+ ASSERT_EQ(3U, parser.registerTokenCount);
+ ASSERT_EQ(0U, parser.unregisterTokenCount);
+
+ registry.unregisterToken(1);
+ ASSERT_EQ(3U, parser.registerTokenCount);
+ ASSERT_EQ(0U, parser.unregisterTokenCount);
+
+ registry.unregisterToken(1);
+ ASSERT_EQ(3U, parser.registerTokenCount);
+ ASSERT_EQ(1U, parser.unregisterTokenCount);
+
+ registry.unregisterToken(1);
+ ASSERT_EQ(3U, parser.registerTokenCount);
+ ASSERT_EQ(1U, parser.unregisterTokenCount);
+
+ registry.unregisterToken(2);
+ ASSERT_EQ(3U, parser.registerTokenCount);
+ ASSERT_EQ(1U, parser.unregisterTokenCount);
+
+ registry.unregisterToken(2);
+ ASSERT_EQ(3U, parser.registerTokenCount);
+ ASSERT_EQ(2U, parser.unregisterTokenCount);
+ }
+ ASSERT_EQ(3U, parser.unregisterTokenCount);
}
-
}
}