| 78 |
78 |
void weakSatisfy() {
|
| 79 |
79 |
NoteHypothesis h;
|
| 80 |
80 |
NoteHypothesis::Estimate e1(500, RealTime::fromMilliseconds(0), 0.5);
|
| 81 |
|
NoteHypothesis::Estimate e2(500, RealTime::fromMilliseconds(10), 0.5);
|
| 82 |
|
NoteHypothesis::Estimate e3(500, RealTime::fromMilliseconds(20), 0.5);
|
| 83 |
|
NoteHypothesis::Estimate e4(500, RealTime::fromMilliseconds(30), 0.5);
|
| 84 |
|
NoteHypothesis::Estimate e5(500, RealTime::fromMilliseconds(40), 0.5);
|
| 85 |
|
NoteHypothesis::Estimate e6(500, RealTime::fromMilliseconds(90), 0.5);
|
|
81 |
NoteHypothesis::Estimate e2(502, RealTime::fromMilliseconds(10), 0.5);
|
|
82 |
NoteHypothesis::Estimate e3(504, RealTime::fromMilliseconds(20), 0.5);
|
|
83 |
NoteHypothesis::Estimate e4(506, RealTime::fromMilliseconds(30), 0.5);
|
|
84 |
NoteHypothesis::Estimate e5(508, RealTime::fromMilliseconds(40), 0.5);
|
|
85 |
NoteHypothesis::Estimate e6(510, RealTime::fromMilliseconds(90), 0.5);
|
| 86 |
86 |
QCOMPARE(h.getState(), NoteHypothesis::New);
|
| 87 |
87 |
QVERIFY(h.accept(e1));
|
| 88 |
88 |
QCOMPARE(h.getState(), NoteHypothesis::Provisional);
|
| ... | ... | |
| 98 |
98 |
QCOMPARE(h.getState(), NoteHypothesis::Expired);
|
| 99 |
99 |
}
|
| 100 |
100 |
|
|
101 |
void frequencyRange() {
|
|
102 |
NoteHypothesis h;
|
|
103 |
NoteHypothesis::Estimate e1(440, RealTime::fromMilliseconds(0), 1);
|
|
104 |
NoteHypothesis::Estimate e2(448, RealTime::fromMilliseconds(10), 1);
|
|
105 |
NoteHypothesis::Estimate e3(444, RealTime::fromMilliseconds(20), 1);
|
|
106 |
NoteHypothesis::Estimate e4(470, RealTime::fromMilliseconds(30), 1);
|
|
107 |
QCOMPARE(h.getState(), NoteHypothesis::New);
|
|
108 |
QVERIFY(h.accept(e1));
|
|
109 |
QCOMPARE(h.getState(), NoteHypothesis::Provisional);
|
|
110 |
QVERIFY(h.accept(e2));
|
|
111 |
QCOMPARE(h.getState(), NoteHypothesis::Provisional);
|
|
112 |
QVERIFY(h.accept(e3));
|
|
113 |
QCOMPARE(h.getState(), NoteHypothesis::Satisfied);
|
|
114 |
QVERIFY(!h.accept(e4));
|
|
115 |
QCOMPARE(h.getState(), NoteHypothesis::Satisfied);
|
|
116 |
}
|
|
117 |
|
|
118 |
void acceptedEstimates() {
|
|
119 |
NoteHypothesis h;
|
|
120 |
NoteHypothesis::Estimate e1(440, RealTime::fromMilliseconds(0), 1);
|
|
121 |
NoteHypothesis::Estimate e2(448, RealTime::fromMilliseconds(10), 1);
|
|
122 |
NoteHypothesis::Estimate e3(444, RealTime::fromMilliseconds(20), 1);
|
|
123 |
NoteHypothesis::Estimate e4(470, RealTime::fromMilliseconds(30), 1);
|
|
124 |
NoteHypothesis::Estimate e5(444, RealTime::fromMilliseconds(90), 1);
|
|
125 |
NoteHypothesis::Estimates es;
|
|
126 |
es.push_back(e1);
|
|
127 |
es.push_back(e2);
|
|
128 |
es.push_back(e3);
|
|
129 |
QCOMPARE(h.getState(), NoteHypothesis::New);
|
|
130 |
QCOMPARE(h.getAcceptedEstimates(), NoteHypothesis::Estimates());
|
|
131 |
QVERIFY(h.accept(e1));
|
|
132 |
QCOMPARE(h.getState(), NoteHypothesis::Provisional);
|
|
133 |
QCOMPARE(h.getAcceptedEstimates(), NoteHypothesis::Estimates());
|
|
134 |
QVERIFY(h.accept(e2));
|
|
135 |
QCOMPARE(h.getState(), NoteHypothesis::Provisional);
|
|
136 |
QCOMPARE(h.getAcceptedEstimates(), NoteHypothesis::Estimates());
|
|
137 |
QVERIFY(h.accept(e3));
|
|
138 |
QCOMPARE(h.getState(), NoteHypothesis::Satisfied);
|
|
139 |
QCOMPARE(h.getAcceptedEstimates(), es);
|
|
140 |
QVERIFY(!h.accept(e4));
|
|
141 |
QCOMPARE(h.getState(), NoteHypothesis::Satisfied);
|
|
142 |
QCOMPARE(h.getAcceptedEstimates(), es);
|
|
143 |
QVERIFY(!h.accept(e5));
|
|
144 |
QCOMPARE(h.getState(), NoteHypothesis::Expired);
|
|
145 |
QCOMPARE(h.getAcceptedEstimates(), es);
|
|
146 |
}
|
|
147 |
|
|
148 |
void meanFrequency() {
|
|
149 |
NoteHypothesis h;
|
|
150 |
NoteHypothesis::Estimate e1(440, RealTime::fromMilliseconds(0), 1);
|
|
151 |
NoteHypothesis::Estimate e2(448, RealTime::fromMilliseconds(10), 1);
|
|
152 |
NoteHypothesis::Estimate e3(444, RealTime::fromMilliseconds(20), 1);
|
|
153 |
QVERIFY(h.accept(e1));
|
|
154 |
QVERIFY(h.accept(e2));
|
|
155 |
QVERIFY(h.accept(e3));
|
|
156 |
QCOMPARE(h.getMeanFrequency(), 444.0);
|
|
157 |
}
|
|
158 |
|
|
159 |
void averagedNote() {
|
|
160 |
NoteHypothesis h;
|
|
161 |
NoteHypothesis::Estimate e1(440, RealTime::fromMilliseconds(10), 1);
|
|
162 |
NoteHypothesis::Estimate e2(448, RealTime::fromMilliseconds(20), 1);
|
|
163 |
NoteHypothesis::Estimate e3(444, RealTime::fromMilliseconds(30), 1);
|
|
164 |
QVERIFY(h.accept(e1));
|
|
165 |
QVERIFY(h.accept(e2));
|
|
166 |
QVERIFY(h.accept(e3));
|
|
167 |
QCOMPARE(h.getAveragedNote(), NoteHypothesis::Note
|
|
168 |
(444,
|
|
169 |
RealTime::fromMilliseconds(10),
|
|
170 |
RealTime::fromMilliseconds(20)));
|
|
171 |
}
|
|
172 |
|
|
173 |
|
| 101 |
174 |
|
| 102 |
175 |
};
|
| 103 |
176 |
|