#include #include "fraction.hpp" class FractionTest : public QObject { Q_OBJECT public: FractionTest(); ~FractionTest(); private slots: void test_constructor(); void test_equivalence(); }; FractionTest::FractionTest() { } FractionTest::~FractionTest() { } void FractionTest::test_constructor() { Fraction f1 = Fraction(1, 2); QVERIFY(f1 == 0.5f); QVERIFY(f1 == 0.5); QVERIFY(f1.numerator() == 1); QVERIFY(f1.denominator() == 2); Fraction f2 = Fraction(2,4); QVERIFY(f1 == f2); QVERIFY(f2 == 0.5f); QVERIFY(f2 == 0.5); QVERIFY(f2.numerator() == 1); QVERIFY(f2.denominator() == 2); } void FractionTest::test_equivalence() { Fraction f1 = Fraction(1, 1); Fraction f2 = Fraction(1, 1); QVERIFY(f1 == f2); QVERIFY(f1 == 1); QVERIFY(f1 == 1.0); QVERIFY(f1 == 1.0f); QVERIFY(f2 == 1); QVERIFY(f2 == 1.0); QVERIFY(f2 == 1.0f); Fraction f3 = Fraction(2, 3); QVERIFY(f3 != 1); QVERIFY(f3 != 1.0); QVERIFY(f3 != 1.0f); } QTEST_APPLESS_MAIN(FractionTest) #include "tst_fractiontest.moc"