def setUp(self):
     self.matrix_7 = create_matrix(7)
     self.matrix_13 = create_matrix(13)
     self.matrix_9 = create_matrix(9)
     
     self.sets_7 = set_factory(self.matrix_7[1])
     self.sets_13 = set_factory(self.matrix_13[1])
     self.sets_9 = set_factory(self.matrix_9[1])
     
     self.network_7 = Network()
     self.network_7.nodes = assign_set(self.sets_7)
     
     self.network_13 = Network()
     self.network_13.nodes = assign_set(self.sets_13)
     
     self.network_9 = Network()
     self.network_9.nodes = assign_set(self.sets_9)
 def testSetFactory(self):
     self.assertEqual(self.sets_7,
                      ([[1, 2, 3], [1, 4, 5], [1, 6, 7]], 
                       [[2, 4, 6], [2, 5, 7]], 
                       [[3, 4, 7], [3, 5, 6]]))
     
     self.assertEqual(set_factory(create_matrix(6)[1]),
                      ([[1, 2, 3], [1, 4, 5], [1, 6, '_']],
                      [[2, 4, 6], [2, 5, '_']],
                      [[3, 4, '_'], [3, 5, 6]]))
     
     self.assertEqual(self.sets_13, 
                      ([[1, 2, 3, 4], [1, 5, 6, 7], [1, 8, 9, 10], [1, 11, 12, 13]], 
                       [[2, 5, 8, 11], [2, 6, 9, 12], [2, 7, 10, 13]], 
                       [[3, 5, 9, 13], [3, 6, 10, 11], [3, 7, 8, 12],
                       [4, 5, 10, 12], [4, 6, 8, 13], [4, 7, 9, 11]]))
     
     self.assertEqual((set_factory(create_matrix(12)[1])),
                      ([[1, 2, 3, 4], [1, 5, 6, 7], [1, 8, 9, 10], [1, 11, 12, '_']],
                       [[2, 5, 8, 11], [2, 6, 9, 12], [2, 7, 10, '_']],
                       [[3, 5, 9, '_'], [3, 6, 10, 11], [3, 7, 8, 12],
                        [4, 5, 10, 12], [4, 6, 8, '_'], [4, 7, 9, 11]]))
     
     self.assertEqual(set_factory(create_matrix(21)[1]),
                      ([[1, 2, 3, 4, 5], [1, 6, 7, 8, 9], [1, 10, 11, 12, 13], [1, 14, 15, 16, 17], [1, 18, 19, 20, 21]],
                       [[2, 6, 10, 14, 18], [2, 7, 11, 15, 19], [2, 8, 12, 16, 20], [2, 9, 13, 17, 21]],
                       [[3, 6, 11, 16, 21], [3, 7, 12, 17, 18], [3, 8, 13, 14, 19], [3, 9, 10, 15, 20],
                        [4, 6, 12, 14, 20], [4, 7, 13, 15, 21], [4, 8, 10, 16, 18], [4, 9, 11, 17, 19],
                        [5, 6, 13, 16, 19], [5, 7, 10, 17, 20], [5, 8, 11, 14, 21], [5, 9, 12, 15, 18]]))
     
     self.assertEqual(set_factory(create_matrix(19)[1]),
                      ([[1, 2, 3, 4, 5], [1, 6, 7, 8, 9], [1, 10, 11, 12, 13], [1, 14, 15, 16, 17], [1, 18, 19, '_', '_']],
                       [[2, 6, 10, 14, 18], [2, 7, 11, 15, 19], [2, 8, 12, 16, '_'], [2, 9, 13, 17, '_']],
                       [[3, 6, 11, 16, '_'], [3, 7, 12, 17, 18], [3, 8, 13, 14, 19], [3, 9, 10, 15, '_'],
                        [4, 6, 12, 14, '_'], [4, 7, 13, 15, '_'], [4, 8, 10, 16, 18], [4, 9, 11, 17, 19],
                        [5, 6, 13, 16, 19], [5, 7, 10, 17, '_'], [5, 8, 11, 14, '_'], [5, 9, 12, 15, 18]]))
 def testComputeLinks(self):
     self.assertEqual(compute_links(set_factory(create_matrix(7)[1])), 14)