Engauge Digitizer  2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TestExportAlign.h
Go to the documentation of this file.
1 #ifndef TEST_EXPORT_ALIGN_H
2 #define TEST_EXPORT_ALIGN_H
3 
4 #include <QObject>
5 
7 class TestExportAlign : public QObject
8 {
9  Q_OBJECT
10 public:
12  explicit TestExportAlign(QObject *parent = 0);
13 
14 signals:
15 
16 private slots:
17  void cleanupTestCase ();
18  void initTestCase ();
19 
20  void testLinearDigits1 (); // Range is over one significant digit
21  void testLinearDigits2 (); // Range is over two significant digits
22  void testLinearDigits3 (); // Range is over three significant digits
23  void testLinearHighDynamicRangeNegNeg (); // Range spans orders of magnitude with two negatives
24  void testLinearHighDynamicRangeNegPos (); // Range spans orders of magnitude with negative and positive
25  void testLinearHighDynamicRangePosPos (); // Range spans orders of magnitude with two positives
26  void testLinearLowDynamicRangeNegNeg (); // Range spans single order of magnitude with two negatives
27  void testLinearLowDynamicRangeNegPos (); // Range spans single order of magnitude with negative and positive
28  void testLinearLowDynamicRangePosPos (); // Range spans single order of magnitude with two positives
29  void testLinearRelativelySmallRangeNeg (); // Range is orders of magnitude smaller than bounds with two negatives
30  void testLinearRelativelySmallRangePos (); // Range is orders of magnitude smaller than bounds with two positives
31  void testLogDigits1 (); // Range is over one significant digit
32  void testLogDigits2 (); // Range is over two significant digits
33  void testLogDigits3 (); // Range is over three significant digits
34  void testLogHighDynamicRangeNegNeg (); // Range spans orders of magnitude with two negative exponents
35  void testLogHighDynamicRangeNegPos (); // Range spans orders of magnitude with negative and positive exponents
36  void testLogHighDynamicRangePosPos (); // Range spans orders of magnitude with two positive exponents
37  void testLogLowDynamicRangeNegNeg (); // Range spans single order of magnitude with two negative exponents
38  void testLogLowDynamicRangeNegPos (); // Range spans single order of magnitude with negative and positive exponents
39  void testLogLowDynamicRangePosPos (); // Range spans single order of magnitude with two positive exponents
40  void testLogRelativelySmallRangeNeg (); // Range is orders of magnitude smaller than bounds with two negative exponents
41  void testLogRelativelySmallRangePos (); // Range is orders of magnitude smaller than bounds with two positive exponents
42 
43 private:
44 
45  bool epsilonTest (double a,
46  double b) const; // Compensates for roundoff errors due to log and exponent functions
47  double testLinearGeneric (double xMin,
48  double xMax) const;
49  double testLogGeneric (double xMinExponent,
50  double xMaxExponent) const; // For simplicity, returns exponent rather than 10^exponent
51 
52 };
53 
54 #endif // TEST_EXPORT_ALIGN_H
TestExportAlign(QObject *parent=0)
Single constructor.
Unit test of ExportAlign classes.