|
@@ -97,6 +97,22 @@ class TestSegmentInfo(unittest.TestCase):
|
|
|
self.__sgmt_info.add_event(None)
|
|
|
self.assertNotEqual(len(self.__sgmt_info.get_events()), 0)
|
|
|
|
|
|
+ def test_add_reader(self):
|
|
|
+ self.assertSetEqual(self.__sgmt_info.get_readers(), set())
|
|
|
+ self.__sgmt_info.add_reader(1)
|
|
|
+ self.assertSetEqual(self.__sgmt_info.get_readers(), {1})
|
|
|
+ self.__sgmt_info.add_reader(3)
|
|
|
+ self.assertSetEqual(self.__sgmt_info.get_readers(), {1, 3})
|
|
|
+ # ordering doesn't matter in sets
|
|
|
+ self.__sgmt_info.add_reader(2)
|
|
|
+ self.assertSetEqual(self.__sgmt_info.get_readers(), {1, 2, 3})
|
|
|
+ self.assertSetEqual(self.__sgmt_info.get_readers(), {1, 3, 2})
|
|
|
+
|
|
|
+ # adding the same existing reader must throw
|
|
|
+ self.assertRaises(SegmentInfoError, self.__sgmt_info.add_reader, (1))
|
|
|
+ # but the existing readers must be untouched
|
|
|
+ self.assertSetEqual(self.__sgmt_info.get_readers(), {1, 3, 2})
|
|
|
+
|
|
|
def test_complete_update(self):
|
|
|
# in READY state
|
|
|
self.__si_to_ready_state()
|