def test_min_knight_moves_example1(self): """ Example 1: Input: x = 2, y = 1 Output: 1 Explanation: [0, 0] → [2, 1] """ res = MinimumKnightMoves().minKnightMoves(2, 1) self.assertEqual(1, res)
def test_min_knight_moves_example2(self): """ Example 2: Input: x = 5, y = 5 Output: 4 Explanation: [0, 0] → [2, 1] → [4, 2] → [3, 4] → [5, 5]` """ res = MinimumKnightMoves().minKnightMoves(5, 5) self.assertEqual(4, res)
def test_min_knight_moves_150_150(self): res = MinimumKnightMoves().minKnightMoves(150, 150) self.assertEqual(100, res)
def test_min_knight_moves_1_neg3(self): res = MinimumKnightMoves().minKnightMoves(1, -3) self.assertEqual(2, res)
def test_min_knight_moves_neg1_3(self): res = MinimumKnightMoves().minKnightMoves(-1, 3) self.assertEqual(2, res)
def test_min_knight_moves_1_2(self): res = MinimumKnightMoves().minKnightMoves(1, 2) self.assertEqual(1, res)
def test_min_knight_moves_neg1_neg2(self): res = MinimumKnightMoves().minKnightMoves(2, -1) self.assertEqual(1, res)
def test_min_knight_moves_neg2_1(self): res = MinimumKnightMoves().minKnightMoves(-2, 1) self.assertEqual(1, res)
def test_min_knight_moves_0_0(self): res = MinimumKnightMoves().minKnightMoves(0, 0) self.assertEqual(0, res)