@@ -93,6 +93,31 @@ def test_parse_square(self):
9393 with self .assertRaises (ValueError ):
9494 self .assertEqual (chess .parse_square ("a0" ))
9595
96+ def test_square_distance (self ):
97+ self .assertEqual (chess .square_distance (chess .A1 , chess .A1 ), 0 )
98+ self .assertEqual (chess .square_distance (chess .A1 , chess .H8 ), 7 )
99+ self .assertEqual (chess .square_distance (chess .E1 , chess .E8 ), 7 )
100+ self .assertEqual (chess .square_distance (chess .A4 , chess .H4 ), 7 )
101+ self .assertEqual (chess .square_distance (chess .D4 , chess .E5 ), 1 )
102+
103+ def test_square_manhattan_distance (self ):
104+ self .assertEqual (chess .square_manhattan_distance (chess .A1 , chess .A1 ), 0 )
105+ self .assertEqual (chess .square_manhattan_distance (chess .A1 , chess .H8 ), 14 )
106+ self .assertEqual (chess .square_manhattan_distance (chess .E1 , chess .E8 ), 7 )
107+ self .assertEqual (chess .square_manhattan_distance (chess .A4 , chess .H4 ), 7 )
108+ self .assertEqual (chess .square_manhattan_distance (chess .D4 , chess .E5 ), 2 )
109+
110+ def test_square_knight_distance (self ):
111+ self .assertEqual (chess .square_knight_distance (chess .A1 , chess .A1 ), 0 )
112+ self .assertEqual (chess .square_knight_distance (chess .A1 , chess .H8 ), 6 )
113+ self .assertEqual (chess .square_knight_distance (chess .G1 , chess .F3 ), 1 )
114+ self .assertEqual (chess .square_knight_distance (chess .E1 , chess .E8 ), 5 )
115+ self .assertEqual (chess .square_knight_distance (chess .A4 , chess .H4 ), 5 )
116+ self .assertEqual (chess .square_knight_distance (chess .A1 , chess .B1 ), 3 )
117+ self .assertEqual (chess .square_knight_distance (chess .A1 , chess .C3 ), 4 )
118+ self .assertEqual (chess .square_knight_distance (chess .A1 , chess .B2 ), 4 )
119+ self .assertEqual (chess .square_knight_distance (chess .C1 , chess .B2 ), 2 )
120+
96121
97122class MoveTestCase (unittest .TestCase ):
98123
0 commit comments