def test_find_minimum_number_of_operations_to_reach_target_number__when_start_and_target_numbers_are_same__then_result_is_0(
         self):
     self.assertEqual(
         0, find_minimum_number_of_operations_to_reach_target_number(6, 6))
 def test_find_minimum_number_of_operations_to_reach_target_number__when_start_and_target_numbers_are_negative_and_target_is_less_than_start__then_target_number_is_reachable(
         self):
     self.assertEqual(
         3,
         find_minimum_number_of_operations_to_reach_target_number(-21, -45))
 def test_find_minimum_number_of_operations_to_reach_target_number__when_start_number_is_non_negative_and_target_number_is_negative__then_result_is_different_between_numbers(
         self):
     self.assertEqual(
         8, find_minimum_number_of_operations_to_reach_target_number(6, -2))
 def test_find_minimum_number_of_operations_to_reach_target_number__when_times_2_more_times_are_needed__then_result_is_minimum(
         self):
     # (((6 - 1) * 2) * 2) = 20 : 3 operations needed only
     self.assertEqual(
         3, find_minimum_number_of_operations_to_reach_target_number(6, 20))
 def test_find_minimum_number_of_operations_to_reach_target_number__when_times_2_once_and_minus_1_once_are_needed__then_result_is_2(
         self):
     self.assertEqual(
         2, find_minimum_number_of_operations_to_reach_target_number(6, 11))
 def test_find_minimum_number_of_operations_to_reach_target_number__when_only_times_2_once_is_needed__then_result_is_1(
         self):
     self.assertEqual(
         1, find_minimum_number_of_operations_to_reach_target_number(6, 12))