def test1_random(self):
     self.assertEqual(knights_path.min_step_to_target(["D", 4], ["G", 7]),
                      "D4 F5 G7")
 def test2_random(self):
     self.assertEqual(knights_path.min_step_to_target(["D", 4], ["D", 5]),
                      "D4 F5 E7 D5")
 def test8_edgecase3(self):
     self.assertEqual(knights_path.min_step_to_target(["A", 1], ["A", 8]),
                      "A1 C2 E3 C4 B6 A8")
 def test9_edgecase4(self):
     self.assertEqual(knights_path.min_step_to_target(["A", 8], ["H", 8]),
                      "A8 C7 E8 D6 F7 H8")
 def test7_edgecase2(self):
     self.assertEqual(knights_path.min_step_to_target(["A", 8], ["H", 1]),
                      "A8 C7 E8 G7 H5 G3 H1")
 def test6_edgecase1(self):
     self.assertEqual(knights_path.min_step_to_target(["A", 1], ["H", 8]),
                      "A1 C2 E3 G4 E5 G6 H8")
 def test5_same_square(self):
     self.assertEqual(knights_path.min_step_to_target(["E", 5], ["E", 5]),
                      "E5")
 def test4_random(self):
     self.assertEqual(knights_path.min_step_to_target(["A", 4], ["H", 4]),
                      "A4 C5 E6 G7 F5 H4")
 def test3_random(self):
     self.assertEqual(knights_path.min_step_to_target(["A", 1], ["A", 4]),
                      "A1 B3 C5 A4")