Example #1
0
 def test_algo1(self):
     """
     à partir d'une table, on rend la liste des lignes et des colonnes après application de l'algo
     Si on veux, on peut appliquer la méthode nouvelOrdreLC pour réordonner ainsi la table.
     Exemple :
     à partir de :
         c0 c1 c2 c3 c4 c5
     l0* 1  0  0  1  0  1
     l1* 1  1  1  0  1  1
     l2* 0  0  1  0  1  1
     l3* 1  1  0  0  0  0
      qui est t = [[1, 1, 0, 1], [0, 1, 0 ,1], [0, 1, 1, 0], [1, 0, 0, 0], [0, 1, 1, 0], [1, 1, 1, 0]]
     
     rendre l'ordre de 
         c3 c1 c0 c2 c4 c5
     l3* 0  1  1  0  0  0
     l0* 1  0  1  0  0  1
     l2* 0  0  0  1  1  1
     l1* 0  1  1  1  1  1
     
     la sortie doit donc être : L, C = [3, 0, 2, 1], [3, 1, 0, 2, 4, 5]
     """
     t = [[1, 1, 0, 1], [0, 1, 0 ,1], [0, 1, 1, 0], [1, 0, 0, 0], [0, 1, 1, 0], [1, 1, 1, 0]]
     L, C = [3, 0, 2, 1], [3, 1, 0, 2, 4, 5]
     self.assertEquals(algo(t), (L, C))
Example #2
0
 def test_comparer_reordertab_et_algo(self):
     """
     0 1 1 1          reorder          1 1 0 1
     0 1 0 1     se transforme en      0 1 0 1
     1 1 0 0                           0 0 1 1
     
     0 1 1 1          algo             1 0 0 1
     0 1 0 1     se transforme en      0 0 1 1
     1 1 0 0                           0 1 1 1
     
     """
     t = [[0, 0, 1], [1, 1, 1], [1, 0, 0], [1, 1, 0]]
     L, C = algo(t)
     self.assertFalse(reorderTab(t) == reorderLC(t, L, C))
Example #3
0
 def test_algo3(self):
     """
     cette fois la table est desordonnée !
     1 1 1 1 1
     1 1 1 1 0
     1 1 1 0 0
     1 1 0 0 0
     1 0 0 0 0
     0 0 0 0 0
     """
     t = [
     [1, 1, 1, 1, 1, 0], 
     [1, 1, 1, 1, 0, 0], 
     [1, 1, 1, 0, 0, 0], 
     [1, 1, 0, 0, 0, 0], 
     [1, 0, 0, 0, 0, 0], 
     ]
     L, C = [5, 4, 3, 2, 1, 0], [4, 3, 2, 1, 0]
     self.assertEquals(algo(t), (L, C))
Example #4
0
 def test_algo2(self):
     """
     cette fois la table est déjà ordonnée !
     0 0 0 0 0
     0 0 0 0 1
     0 0 0 1 1
     0 0 1 1 1
     0 1 1 1 1
     1 1 1 1 1
     """
     t = [
     [0, 0, 0, 0, 0, 1], 
     [0, 0, 0, 0, 1, 1], 
     [0, 0, 0, 1, 1, 1], 
     [0, 0, 1, 1, 1, 1], 
     [0, 1, 1, 1, 1, 1], 
     ]
     L, C = [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4]
     self.assertEquals(algo(t), (L, C))
Example #5
0
 def test_algo4(self):
     """
     cette fois la table il y a des sépartions ligne sans colonnes et colonnes sans lignes 
     avec changement d'ordre en retour...(cas général me parait-il)
     1 1 0 0 1 0
     1 0 0 0 1 0
     0 0 1 1 1 1 
     1 1 1 1 1 1
     """
     t = [
     [1, 1, 0, 1], 
     [1, 0, 0, 1], 
     [0, 0, 1, 1], 
     [0, 0, 1, 1], 
     [1, 1, 1, 1], 
     [0, 0, 1, 1], 
  
     ]
     L, C = [1, 0, 2, 3], [1, 0, 2, 3, 5, 4]
     self.assertEquals(algo(t), (L, C))