def assert_in_epsilon(expected_float, actual_float, epsilon=0.001,
message="")
_wrap_assertion do
_assert_in_epsilon_validate_arguments(expected_float,
actual_float,
epsilon)
full_message = _assert_in_epsilon_message(expected_float,
actual_float,
epsilon,
message)
assert_block(full_message) do
normalized_expected_float = expected_float.to_f
if normalized_expected_float.zero?
delta = epsilon.to_f ** 2
else
delta = normalized_expected_float * epsilon.to_f
end
delta = delta.abs
(normalized_expected_float - actual_float.to_f).abs <= delta
end
end
end