| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#1
| |||
| |||
| Hi there 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) or perhaps both. -- Posted via http://www.ruby-forum.com/. |
|
#2
| |||
| |||
| sorry a (simplified) example def simpleclass attr_accessor :big_num #its a float!!! end expected = simpleclass.new(105.234) assert_equal(expected, somefunction(blahblah)) 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. -- Posted via http://www.ruby-forum.com/. |
|
#3
| |||
| |||
| 2008/8/27 Adam Akhtar <adamtemporary@gmail.com>: > sorry a (simplified) example > > def simpleclass > attr_accessor :big_num #its a float!!! > end > > expected = simpleclass.new(105.234) > > assert_equal(expected, somefunction(blahblah)) > > 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. Farrel -- Aimred - Ruby Development and Consulting http://www.aimred.com |
|
#4
| |||
| |||
| ahhh i thought you could only use assert_in_delta with only floats directly. Ill try passing my class objects with it. Thanks -- Posted via http://www.ruby-forum.com/. |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.