Exemple #1
0
class TestEdgeMethods(unittest.TestCase):
    """ Teste les differentes fonctions de la classe Edge."""

    n1 = Node(name="test1")
    n2 = Node(name="test2")
    n3 = Node(name="test3")

    def setUp(self):
        """ Liste de commandes qui sera lancee a chaque test """
        self.edg_test1 = Edge("edge_test1", [self.n1, self.n2, 79])
        self.edg_test2 = Edge(data=[self.n2, self.n3], name="edge_test2")
        self.edg_test3 = Edge("edge_test2")
        self.edg_test4 = Edge("edge_test4", [])
        self.edg_test5 = Edge("edge_test5", [])
        self.edg_def = Edge()

    def test_get_name(self):
        """ Verification du nom renvoye par la fonction get_name. """
        self.assertEqual('Sans nom', self.edg_def.get_name())
        self.assertEqual('edge_test1', self.edg_test1.get_name())
        self.assertEqual('edge_test2', self.edg_test2.get_name())

    def test_get_data(self):
        """ Verification que le pointeur de donnees renvoie vers quelque chose. """
        self.failUnless(self.edg_def.get_data() is not None)
        self.failUnless(self.edg_test2.get_data() is not None)

    def test_get_start(self):
        """ Verification que le pointeur de donnees renvoie vers quelque chose. """
        self.failUnless(self.edg_def.start is None)
        self.failUnless(self.edg_test3.start is None)
        self.failUnless(self.edg_test4.start is None)
        self.failUnless(self.edg_test2.start is not None)

    def test_get_end(self):
        """ Verification que le pointeur de donnees renvoie vers quelque chose. """
        self.failUnless(self.edg_def.end is None)
        self.failUnless(self.edg_test2.end is not None)
        self.failUnless(self.edg_test4.end is None)

    def test_get_weight(self):
        """ Verification que le pointeur de donnees renvoie vers quelque chose. """
        self.failUnless(self.edg_def.weight is None)
        self.failUnless(self.edg_test2.weight is None)

    def test_set_start(self):
        """ Verification que le pointeur de donnees renvoie vers quelque chose. """
        self.edg_def.start = Node()
        self.edg_test2.start = Node()
        self.edg_test5.start = Node()
        self.failUnless(self.edg_def.start is not None)
        self.failUnless(self.edg_test2.start is not None)

    def test_set_end(self):
        """ Verification que le noeud d'arrivee est bien affecte"""
        self.edg_def.end = self.n1
        self.edg_test2.end = self.n2
        self.edg_test4.end = []
        self.failUnless(self.edg_def.end == self.n1)
        self.failUnless(self.edg_test2.end == self.n2)
        self.failUnless(self.edg_test3.end is None)
        self.failUnless(self.edg_test4.end is None)

    def test_set_weight(self):
        """ Verification que le poids est bien affecte"""
        self.edg_def.weight = 5
        self.edg_test2.weight = 79
        self.failUnless(self.edg_def.weight == 5)
        self.failUnless(self.edg_test2.weight == 79)

    def test_repr(self):
        """ Verification qu'une chaine de caracteres est bien renvoyee a l'affichage par le module print """
        self.assertTrue(isinstance(self.edg_test1.__repr__(), str))

    def test_comparison(self):
        """ Verification des comparaisons entre les differentes aretes"""
        self.edg_def.weight = 5
        self.edg_test2.weight = 79
        self.failUnless(self.edg_test1 >= self.edg_def)
        self.failIf(self.edg_def >= self.edg_test1)
        self.failUnless(self.edg_test1 > self.edg_def)
        self.failIf(self.edg_def > self.edg_test1)
        self.failUnless(self.edg_def <= self.edg_test1)
        self.failIf(self.edg_test1 <= self.edg_def)
        self.failUnless(self.edg_def < self.edg_test1)
        self.failIf(self.edg_test1 < self.edg_def)
        self.failUnless(self.edg_test1 == self.edg_test2)
        self.failIf(self.edg_test2.weight == self.edg_def.weight)
        self.failUnless(self.edg_test1 != self.edg_def)
        self.failIf(self.edg_test2.weight != self.edg_test1.weight)