#ifndef COMPLEX_H
#define COMPLEX_H
class Complex {
public:
Complex(double i = 0, double r = 0)
:m_im(i), m_re(r){}
void setIm(double i) {
m_im = i;
}
void setRe(double r) {
m_re = r;
}
double getIm() {
return m_im;
}
double getRe() {
return m_re;
}
private:
double m_im;
double m_re;
};
#endif // COMPLEX_H
#ifndef COMPLEX_H
#define COMPLEX_H
class Complex {
public:
Complex(double i = 0, double r = 0)
:m_im(i), m_re(r){}
void setIm(double i) {
m_im = i;
}
void setRe(double r) {
m_re = r;
}
double getIm() {
return m_im;
}
double getRe() {
return m_re;
}
private:
double m_im;
double m_re;
};
#endif // COMPLEX_H
To copy to clipboard, switch view to plain text mode
#include <QtTest>
#include "complex.h"
#include <QDebug>
class Test_Complex
: public QObject { Q_OBJECT
private slots:
void setIm();
void setRe();
static inline bool qFuzzyCompare(double p1, double p2, double delta)
{
return (qAbs(p1 - p2) <= delta * qMin(qAbs(p1), qAbs(p2)));
}
};
// ----------------------------------------------------------------------
void Test_Complex::setIm()
{
Complex complex;
double input = 25.5123;
complex.setIm(input);
double expeted = complex.getIm();
double delta = 0.0001;
QString message
= QString("input = %1; expeted = %2; delta = %3").
arg(input
).
arg(expeted
).
arg(delta
);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = -5.7;
complex.setIm(input);
expeted = complex.getIm();
message
= QString("input = %1; expeted = %2; delta = %3").
arg(input
).
arg(expeted
).
arg(delta
);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = 0;
complex.setIm(input);
expeted = complex.getIm();
message
= QString("input = %1; expeted = %2; delta = %3").
arg(input
).
arg(expeted
).
arg(delta
);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = 5;
complex.setIm(input);
expeted = complex.getIm();
message
= QString("input = %1; expeted = %2; delta = %3").
arg(input
).
arg(expeted
).
arg(delta
);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
}
// ----------------------------------------------------------------------
void Test_Complex::setRe()
{
Complex complex;
double input = 125.5;
complex.setRe(input);
double expeted = complex.getRe();
double delta = 0.0001;
QString message
= QString("input = %1; expeted = %2; delta = %3").
arg(input
).
arg(expeted
).
arg(delta
);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = -15.7;
complex.setRe(input);
expeted = complex.getRe();
message
= QString("input = %1; expeted = %2; delta = %3").
arg(input
).
arg(expeted
).
arg(delta
);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = 10;
complex.setRe(input);
expeted = complex.getRe();
message
= QString("input = %1; expeted = %2; delta = %3").
arg(input
).
arg(expeted
).
arg(delta
);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = 15;
complex.setRe(input);
expeted = complex.getRe();
message
= QString("input = %1; expeted = %2; delta = %3").
arg(input
).
arg(expeted
).
arg(delta
);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
}
QTEST_MAIN(Test_Complex)
#include "test.moc"
#include <QtTest>
#include "complex.h"
#include <QDebug>
class Test_Complex : public QObject {
Q_OBJECT
private slots:
void setIm();
void setRe();
static inline bool qFuzzyCompare(double p1, double p2, double delta)
{
return (qAbs(p1 - p2) <= delta * qMin(qAbs(p1), qAbs(p2)));
}
};
// ----------------------------------------------------------------------
void Test_Complex::setIm()
{
Complex complex;
double input = 25.5123;
complex.setIm(input);
double expeted = complex.getIm();
double delta = 0.0001;
QString message = QString("input = %1; expeted = %2; delta = %3").arg(input).arg(expeted).arg(delta);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = -5.7;
complex.setIm(input);
expeted = complex.getIm();
message = QString("input = %1; expeted = %2; delta = %3").arg(input).arg(expeted).arg(delta);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = 0;
complex.setIm(input);
expeted = complex.getIm();
message = QString("input = %1; expeted = %2; delta = %3").arg(input).arg(expeted).arg(delta);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = 5;
complex.setIm(input);
expeted = complex.getIm();
message = QString("input = %1; expeted = %2; delta = %3").arg(input).arg(expeted).arg(delta);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
}
// ----------------------------------------------------------------------
void Test_Complex::setRe()
{
Complex complex;
double input = 125.5;
complex.setRe(input);
double expeted = complex.getRe();
double delta = 0.0001;
QString message = QString("input = %1; expeted = %2; delta = %3").arg(input).arg(expeted).arg(delta);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = -15.7;
complex.setRe(input);
expeted = complex.getRe();
message = QString("input = %1; expeted = %2; delta = %3").arg(input).arg(expeted).arg(delta);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = 10;
complex.setRe(input);
expeted = complex.getRe();
message = QString("input = %1; expeted = %2; delta = %3").arg(input).arg(expeted).arg(delta);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
input = 15;
complex.setRe(input);
expeted = complex.getRe();
message = QString("input = %1; expeted = %2; delta = %3").arg(input).arg(expeted).arg(delta);
QVERIFY2(qFuzzyCompare(input, expeted, delta), message.toAscii());
}
QTEST_MAIN(Test_Complex)
#include "test.moc"
To copy to clipboard, switch view to plain text mode
Bookmarks