P
Phlip
Rubies:
Here's the Ruby 1.8 test\unit version of assert_equal()
def assert_equal(expected, actual, message=nil)
full_message = build_message(message, <<EOT, expected, actual)
<?> expected but was
<?>.
EOT
assert_block(full_message) { expected == actual }
end
Notice it builds a message even if the assertion passes.
Because assertions passing should be the most common behavior, shouldn't
that method run like this?
def assert_equal(expected, actual, message=nil)
assert_block(full_message) do
if expected == actual then
''
else
build_message(message, <<EOT, expected, actual)
<?> expected but was
<?>.
EOT
end
end
end
Then assert_block() should trigger if its block yields a complaint string.
Here's the Ruby 1.8 test\unit version of assert_equal()
def assert_equal(expected, actual, message=nil)
full_message = build_message(message, <<EOT, expected, actual)
<?> expected but was
<?>.
EOT
assert_block(full_message) { expected == actual }
end
Notice it builds a message even if the assertion passes.
Because assertions passing should be the most common behavior, shouldn't
that method run like this?
def assert_equal(expected, actual, message=nil)
assert_block(full_message) do
if expected == actual then
''
else
build_message(message, <<EOT, expected, actual)
<?> expected but was
<?>.
EOT
end
end
end
Then assert_block() should trigger if its block yields a complaint string.