Ticket #9141: 02-rationalunittest.patch

File 02-rationalunittest.patch, 1.1 KB (added by DrMcCoy, 14 years ago)

Unit test for Rational's operators

  • new file test/common/rational.h

    commit 6fd6aad2b033cc3cf113d92de26c0b4367cffd91
    Author: Sven Hesse <drmccoy@users.sourceforge.net>
    Date:   Thu May 13 20:22:11 2010 +0200
    
        Adding a small unit test for Common::Rational's operators
    
    diff --git a/test/common/rational.h b/test/common/rational.h
    new file mode 100644
    index 0000000..f1a4ea6
    - +  
     1#include <cxxtest/TestSuite.h>
     2
     3#include "common/rational.h"
     4
     5class RationalTestSuite : public CxxTest::TestSuite {
     6public:
     7        void test_operators() {
     8                Common::Rational r0(6, 3);
     9                Common::Rational r1(1, 2);
     10
     11                Common::Rational r2(62, 2);
     12                Common::Rational r3(34, 4);
     13
     14                Common::Rational r4 = (r0 + r1) * 3;
     15                Common::Rational r5 = (r2 - r3) / 3;
     16
     17                Common::Rational r6 = r5 - 1;
     18
     19                TS_ASSERT(r4 == r5);
     20
     21                TS_ASSERT(-r4 == -r5);
     22
     23                TS_ASSERT(  r4 >  r6);
     24                TS_ASSERT(  r4 >= r6);
     25                TS_ASSERT(!(r4 <  r6));
     26                TS_ASSERT(!(r4 <= r6));
     27
     28                TS_ASSERT(  r4 >  7);
     29                TS_ASSERT(  r4 >= 7);
     30                TS_ASSERT(!(r4 <  7));
     31                TS_ASSERT(!(r4 <= 7));
     32
     33                TS_ASSERT(  7 <  r4);
     34                TS_ASSERT(  7 <= r4);
     35                TS_ASSERT(!(7 >  r4));
     36                TS_ASSERT(!(7 >= r4));
     37        }
     38};