Exemple #1
0
 def test_nine_elements(self):
     input_dominoes = [
         (1, 2),
         (5, 3),
         (3, 1),
         (1, 2),
         (2, 4),
         (1, 6),
         (2, 3),
         (3, 4),
         (5, 6),
     ]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #2
0
 def test_can_reverse_dominoes(self):
     input_dominoes = [(1, 2), (1, 3), (2, 3)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #3
0
 def test_three_elements(self):
     input_dominoes = [(1, 2), (3, 1), (2, 3)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #4
0
 def test_singleton_that_can_t_be_chained(self):
     input_dominoes = [(1, 2)]
     output_chain = can_chain(input_dominoes)
     self.refute_correct_chain(input_dominoes, output_chain)
Exemple #5
0
 def test_singleton_cant_be_chained(self):
     input_dominoes = [(1, 2)]
     output_chain = can_chain(input_dominoes)
     self.refute_correct_chain(input_dominoes, output_chain)
Exemple #6
0
 def test_disconnected_double_loop(self):
     input_dominoes = [(1, 2), (2, 1), (3, 4), (4, 3)]
     output_chain = can_chain(input_dominoes)
     self.refute_correct_chain(input_dominoes, output_chain)
Exemple #7
0
 def test_need_backtrack(self):
     input_dominoes = [(1, 2), (2, 3), (3, 1), (2, 4), (2, 4)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #8
0
 def test_disconnected_single_isolated(self):
     input_dominoes = [(1, 2), (2, 3), (3, 1), (4, 4)]
     output_chain = can_chain(input_dominoes)
     self.refute_correct_chain(input_dominoes, output_chain)
Exemple #9
0
 def test_need_backtrack(self):
     input_dominoes = [(1, 2), (2, 3), (3, 1), (2, 4), (2, 4)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #10
0
 def test_disconnected_simple(self):
     input_dominoes = [(1, 1), (2, 2)]
     output_chain = can_chain(input_dominoes)
     self.refute_correct_chain(input_dominoes, output_chain)
Exemple #11
0
 def test_disconnected_double_loop(self):
     input_dominoes = [(1, 2), (2, 1), (3, 4), (4, 3)]
     output_chain = can_chain(input_dominoes)
     self.refute_correct_chain(input_dominoes, output_chain)
Exemple #12
0
 def test_cant_be_chained(self):
     input_dominoes = [(1, 2), (4, 1), (2, 3)]
     output_chain = can_chain(input_dominoes)
     self.refute_correct_chain(input_dominoes, output_chain)
Exemple #13
0
 def test_can_reverse_dominoes(self):
     input_dominoes = [(1, 2), (1, 3), (2, 3)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #14
0
 def test_three_elements(self):
     input_dominoes = [(1, 2), (3, 1), (2, 3)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #15
0
 def test_can_t_be_chained(self):
     input_dominoes = [(1, 2), (4, 1), (2, 3)]
     output_chain = can_chain(input_dominoes)
     self.refute_correct_chain(input_dominoes, output_chain)
Exemple #16
0
 def test_separate_loops(self):
     input_dominoes = [(1, 2), (2, 3), (3, 1), (1, 1), (2, 2), (3, 3)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #17
0
 def test_disconnected_simple(self):
     input_dominoes = [(1, 1), (2, 2)]
     output_chain = can_chain(input_dominoes)
     self.refute_correct_chain(input_dominoes, output_chain)
Exemple #18
0
 def test_nine_elements(self):
     input_dominoes = [(1, 2), (5, 3), (3, 1), (1, 2), (2, 4), (1, 6),
                       (2, 3), (3, 4), (5, 6)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #19
0
 def test_disconnected_single_isolated(self):
     input_dominoes = [(1, 2), (2, 3), (3, 1), (4, 4)]
     output_chain = can_chain(input_dominoes)
     self.refute_correct_chain(input_dominoes, output_chain)
Exemple #20
0
 def test_empty_input_empty_output(self):
     input_dominoes = []
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #21
0
 def test_separate_loops(self):
     input_dominoes = [(1, 2), (2, 3), (3, 1), (1, 1), (2, 2), (3, 3)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #22
0
 def test_singleton_input_singleton_output(self):
     input_dominoes = [(1, 1)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #23
0
 def test_empty_input_empty_output(self):
     input_dominoes = []
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)
Exemple #24
0
 def test_singleton_input_singleton_output(self):
     input_dominoes = [(1, 1)]
     output_chain = can_chain(input_dominoes)
     self.assert_correct_chain(input_dominoes, output_chain)