Package sparked :: Package test :: Module test_monitor
[hide private]
[frames] | no frames]

Source Code for Module sparked.test.test_monitor

 1  # Copyright (c) 2010 Arjan Scherpenisse 
 2  # See LICENSE for details. 
 3   
 4  """ 
 5  Tests for sparked.monitors.* 
 6   
 7  Maintainer: Arjan Scherpenisse 
 8  """ 
 9   
10  from twisted.trial import unittest 
11   
12  from sparked import monitors 
13   
14 -class TestMonitorContainer(unittest.TestCase):
15 """ 16 Test the L{sparked.monitors.MonitorContainer} 17 """ 18
19 - def testAddRemove(self):
20 """ 21 Whether the "updated" signal comes in when a monitor changes state. 22 """ 23 self.pinged = 0 24 25 class FooMonitor(monitors.Monitor): 26 pass
27 28 container = monitors.MonitorContainer() 29 30 def ping(c): 31 self.pinged += 1 32 self.assertEquals(c, container)
33 34 container.events.addObserver("updated", ping) 35 36 a = FooMonitor() 37 container.addMonitor(a) 38 self.assertEquals(self.pinged, 1) 39 self.assertEquals(container.monitors, [a]) 40 41 b = FooMonitor() 42 container.addMonitor(b) 43 self.assertEquals(self.pinged, 2) 44 self.assertEquals(container.monitors, [a, b]) 45 46 container.removeMonitor(a) 47 self.assertEquals(self.pinged, 3) 48 self.assertEquals(container.monitors, [b]) 49