def setUp(self): self.route_node = RouteNode()
class TestRouteNode(unittest.TestCase): def setUp(self): self.route_node = RouteNode() def testRouteAdd(self): ''' Add a route ''' self.failUnlessEqual(self.route_node.routes, []) res = self.route_node.route_add(lvl=0, dst=1234, gw=1, rem=Rtt(20)) self.failUnlessEqual(res, (1, None)) self.failUnless(isinstance(self.route_node.routes[0], RouteGw)) self.failUnlessEqual(self.route_node.routes[0].gw, 1) # substitute an old route res = self.route_node.route_add(lvl=0, dst=1234, gw=1, rem=Rtt(10)) self.failUnlessEqual(res, (2, Rtt(20))) # Add new route res = self.route_node.route_add(lvl=0, dst=1234, gw=2, rem=Rtt(5)) self.failUnlessEqual(res, (1, None)) self.failUnlessEqual(self.route_node.nroutes(), 2) def testRouteGetbyGw(self): ''' Getting a route having as gateway "gw" ''' self.failUnlessEqual(self.route_node.route_getby_gw(5), None) self.route_node.route_add(lvl=0, dst=123, gw=5, rem=Rtt(1)) gw5 = self.route_node.route_getby_gw(5) self.failUnlessEqual(gw5.gw, 5) def testChangeRouteRem(self): ''' Change route rem ''' self.route_node.route_add(lvl=0, dst=123, gw=5, rem=Rtt(50)) res = self.route_node.route_rem(1, Rtt(10)) # Route don't exist self.failUnlessEqual(res, (0, None)) res = self.route_node.route_rem(5, Rtt(10)) self.failUnlessEqual(res, (1, Rtt(50))) def testDeleteRoute(self): '''Delete a route''' res = self.route_node.route_del(5) self.failUnlessEqual(res, 0) self.route_node.route_add(lvl=0, dst=123, gw=3, rem=Rtt(50)) self.route_node.route_add(lvl=0, dst=123, gw=4, rem=Rtt(50)) self.route_node.route_add(lvl=0, dst=123, gw=5, rem=Rtt(50)) res = self.route_node.route_del(5) self.failUnlessEqual(res, 1) self.failUnlessEqual( self.route_node.routes, [RouteGw(3, Rtt(50)), RouteGw(4, Rtt(50))]) res = self.route_node.route_del(3) self.failUnlessEqual(self.route_node.routes, [RouteGw(4, Rtt(50))]) res = self.route_node.route_del(4) self.failUnless(self.route_node.is_empty()) def testIsEmpty(self): '''Check if a RouteNode instance is empty ''' self.failUnlessEqual(self.route_node.is_empty(), True) self.route_node.route_add(lvl=0, dst=123, gw=5, rem=Rtt(50)) self.failUnlessEqual(self.route_node.is_empty(), False) def testReset(self): ''' Delete all routes ''' self.route_node.route_add(lvl=0, dst=123, gw=5, rem=Rtt(50)) self.failUnlessEqual(self.route_node.is_empty(), False) self.route_node.route_reset() self.failUnlessEqual(self.route_node.is_empty(), True)
class TestRouteNode(unittest.TestCase): def setUp(self): self.route_node = RouteNode() def testRouteAdd(self): ''' Add a route ''' self.failUnlessEqual(self.route_node.routes, []) res = self.route_node.route_add(lvl=0, dst=1234, gw=1, rem=Rtt(20)) self.failUnlessEqual(res, (1, None)) self.failUnless(isinstance(self.route_node.routes[0], RouteGw)) self.failUnlessEqual(self.route_node.routes[0].gw, 1) # substitute an old route res = self.route_node.route_add(lvl=0, dst=1234, gw=1, rem=Rtt(10)) self.failUnlessEqual(res, (2, Rtt(20))) # Add new route res = self.route_node.route_add(lvl=0, dst=1234, gw=2, rem=Rtt(5)) self.failUnlessEqual(res, (1, None)) self.failUnlessEqual(self.route_node.nroutes(), 2) def testRouteGetbyGw(self): ''' Getting a route having as gateway "gw" ''' self.failUnlessEqual(self.route_node.route_getby_gw(5), None) self.route_node.route_add(lvl=0, dst=123, gw=5, rem=Rtt(1)) gw5 = self.route_node.route_getby_gw(5) self.failUnlessEqual(gw5.gw, 5) def testChangeRouteRem(self): ''' Change route rem ''' self.route_node.route_add(lvl=0, dst=123, gw=5, rem=Rtt(50)) res = self.route_node.route_rem(1, Rtt(10)) # Route don't exist self.failUnlessEqual(res, (0, None)) res = self.route_node.route_rem(5, Rtt(10)) self.failUnlessEqual(res, (1, Rtt(50))) def testDeleteRoute(self): '''Delete a route''' res = self.route_node.route_del(5) self.failUnlessEqual(res, 0) self.route_node.route_add(lvl=0, dst=123, gw=3, rem=Rtt(50)) self.route_node.route_add(lvl=0, dst=123, gw=4, rem=Rtt(50)) self.route_node.route_add(lvl=0, dst=123, gw=5, rem=Rtt(50)) res = self.route_node.route_del(5) self.failUnlessEqual(res, 1) self.failUnlessEqual(self.route_node.routes, [RouteGw(3, Rtt(50)), RouteGw(4, Rtt(50))]) res = self.route_node.route_del(3) self.failUnlessEqual(self.route_node.routes, [RouteGw(4, Rtt(50))]) res = self.route_node.route_del(4) self.failUnless(self.route_node.is_empty()) def testIsEmpty(self): '''Check if a RouteNode instance is empty ''' self.failUnlessEqual(self.route_node.is_empty(), True) self.route_node.route_add(lvl=0, dst=123, gw=5, rem=Rtt(50)) self.failUnlessEqual(self.route_node.is_empty(), False) def testReset(self): ''' Delete all routes ''' self.route_node.route_add(lvl=0, dst=123, gw=5, rem=Rtt(50)) self.failUnlessEqual(self.route_node.is_empty(), False) self.route_node.route_reset() self.failUnlessEqual(self.route_node.is_empty(), True)