im learning unit testing and have just recently started using classes
(very basic no superclass etc) and now running into problems.
I have a function which returns a class ojbect that contains float
variables.
The assert_equal is constantly failing. However when it prints out a
summary of the two things i compared in the assert they are exaclty the
same.
So im wondering if its something to do with classes, perhaps i have to
define a method in the class which tells assert how to compare objects
of that class
or its to do with the fact there are floats in the object (i checked
previous posts and google and found out there are issues with floats and
assert)
i expect somefunction to return a class with 105.234
in the summary it shows that the function does in fact do that but it
still fails it.
When comparing floats there is a chance that although the floats might
be represented the same on screen there might be differences in their
storage. For instance 1.0 and 1.0000001 might look the same on the
screen but will not be the same if compared with ==.
You should rather use assert_in_delta when comparing two floats.