summaryrefslogtreecommitdiff
path: root/tests
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2012-07-24 23:14:12 +0200
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2012-07-24 23:14:12 +0200
commit968169283205ab39ba04bade2b9767dbe1982b64 (patch)
treea45308c54dfcdf210ecff1fea48f6ff6489185ab /tests
parent250b5da3a0b5864ef12513a2836548bf0dfbbb8e (diff)
test_edge_barrier_controller: add subscribing tests
(bzr r2509.2.12)
Diffstat (limited to 'tests')
-rw-r--r--tests/test_edge_barrier_controller.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_edge_barrier_controller.cpp b/tests/test_edge_barrier_controller.cpp
index 638ebac14..d328856bf 100644
--- a/tests/test_edge_barrier_controller.cpp
+++ b/tests/test_edge_barrier_controller.cpp
@@ -111,6 +111,28 @@ TEST_F(TestEdgeBarrierController, Construction)
ASSERT_EQ(bc.GetSubscriber(i), &subscribers_[i]);
}
+TEST_F(TestEdgeBarrierController, Unsubscribe)
+{
+ for (int i = 0; i < max_num_monitors; ++i)
+ {
+ bc.Unsubscribe(&subscribers_[i], i);
+ ASSERT_EQ(bc.GetSubscriber(i), nullptr);
+ }
+}
+
+TEST_F(TestEdgeBarrierController, UnsubscribeInvalid)
+{
+ bc.Unsubscribe(&subscribers_[2], 1);
+ ASSERT_EQ(bc.GetSubscriber(2), &subscribers_[2]);
+}
+
+TEST_F(TestEdgeBarrierController, SubscriberReplace)
+{
+ TestBarrierSubscriber handling_subscriber(true);
+ bc.Subscribe(&handling_subscriber, 0);
+ EXPECT_EQ(bc.GetSubscriber(0), &handling_subscriber);
+}
+
TEST_F(TestEdgeBarrierController, ProcessHandledEvent)
{
int monitor = 0;