Chris@1612
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
Chris@1612
|
2
|
Chris@1612
|
3 /*
|
Chris@1612
|
4 Sonic Visualiser
|
Chris@1612
|
5 An audio file viewer and annotation editor.
|
Chris@1612
|
6 Centre for Digital Music, Queen Mary, University of London.
|
Chris@1612
|
7
|
Chris@1612
|
8 This program is free software; you can redistribute it and/or
|
Chris@1612
|
9 modify it under the terms of the GNU General Public License as
|
Chris@1612
|
10 published by the Free Software Foundation; either version 2 of the
|
Chris@1612
|
11 License, or (at your option) any later version. See the file
|
Chris@1612
|
12 COPYING included with this distribution for more information.
|
Chris@1612
|
13 */
|
Chris@1612
|
14
|
Chris@1612
|
15 #ifndef TEST_POINT_SERIES_H
|
Chris@1612
|
16 #define TEST_POINT_SERIES_H
|
Chris@1612
|
17
|
Chris@1612
|
18 #include "../PointSeries.h"
|
Chris@1612
|
19
|
Chris@1612
|
20 #include <QObject>
|
Chris@1612
|
21 #include <QtTest>
|
Chris@1612
|
22
|
Chris@1612
|
23 #include <iostream>
|
Chris@1612
|
24
|
Chris@1612
|
25 using namespace std;
|
Chris@1612
|
26
|
Chris@1612
|
27 class TestPointSeries : public QObject
|
Chris@1612
|
28 {
|
Chris@1612
|
29 Q_OBJECT
|
Chris@1612
|
30
|
Chris@1612
|
31 private slots:
|
Chris@1612
|
32 void empty() {
|
Chris@1612
|
33
|
Chris@1612
|
34 PointSeries s;
|
Chris@1612
|
35 QCOMPARE(s.isEmpty(), true);
|
Chris@1612
|
36 QCOMPARE(s.count(), 0);
|
Chris@1612
|
37
|
Chris@1612
|
38 Point p(10, QString());
|
Chris@1612
|
39 QCOMPARE(s.contains(p), false);
|
Chris@1612
|
40 QCOMPARE(s.getPointsSpanning(400), PointVector());
|
Chris@1612
|
41 }
|
Chris@1612
|
42
|
Chris@1612
|
43 void singlePoint() {
|
Chris@1612
|
44
|
Chris@1612
|
45 PointSeries s;
|
Chris@1612
|
46 Point p(10, QString());
|
Chris@1612
|
47 s.add(p);
|
Chris@1612
|
48 QCOMPARE(s.isEmpty(), false);
|
Chris@1612
|
49 QCOMPARE(s.count(), 1);
|
Chris@1612
|
50 QCOMPARE(s.contains(p), true);
|
Chris@1612
|
51
|
Chris@1612
|
52 s.remove(p);
|
Chris@1612
|
53 QCOMPARE(s.isEmpty(), true);
|
Chris@1612
|
54 QCOMPARE(s.contains(p), false);
|
Chris@1612
|
55 }
|
Chris@1612
|
56
|
Chris@1612
|
57 void singlePointSpan() {
|
Chris@1612
|
58
|
Chris@1612
|
59 PointSeries s;
|
Chris@1612
|
60 Point p(10, QString());
|
Chris@1612
|
61 s.add(p);
|
Chris@1612
|
62 PointVector span;
|
Chris@1612
|
63 span.push_back(p);
|
Chris@1612
|
64 QCOMPARE(s.getPointsSpanning(10), span);
|
Chris@1612
|
65 QCOMPARE(s.getPointsSpanning(11), PointVector());
|
Chris@1612
|
66 QCOMPARE(s.getPointsSpanning(9), PointVector());
|
Chris@1612
|
67 }
|
Chris@1612
|
68
|
Chris@1612
|
69 void singlePointWithDurationSpan() {
|
Chris@1612
|
70
|
Chris@1612
|
71 PointSeries s;
|
Chris@1612
|
72 Point p(10, 1.0, 20, QString());
|
Chris@1612
|
73 s.add(p);
|
Chris@1612
|
74 PointVector span;
|
Chris@1612
|
75 span.push_back(p);
|
Chris@1612
|
76 QCOMPARE(s.getPointsSpanning(10), span);
|
Chris@1612
|
77 QCOMPARE(s.getPointsSpanning(11), span);
|
Chris@1612
|
78 QCOMPARE(s.getPointsSpanning(29), span);
|
Chris@1612
|
79 QCOMPARE(s.getPointsSpanning(30), PointVector());
|
Chris@1612
|
80 QCOMPARE(s.getPointsSpanning(9), PointVector());
|
Chris@1612
|
81 }
|
Chris@1612
|
82
|
Chris@1612
|
83 };
|
Chris@1612
|
84
|
Chris@1612
|
85 #endif
|