mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 08:14:58 +01:00
Add unit test for Sequence iterator seeking.
git-svn-id: svn://localhost/ardour2/branches/3.0@5801 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
5c1dccaca5
commit
0a9b982620
2 changed files with 37 additions and 6 deletions
|
|
@ -6,7 +6,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(SequenceTest);
|
|||
using namespace std;
|
||||
|
||||
void
|
||||
SequenceTest::createTest (void)
|
||||
SequenceTest::createTest ()
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(size_t(0), seq->sysexes().size());
|
||||
CPPUNIT_ASSERT_EQUAL(size_t(0), seq->notes().size());
|
||||
|
|
@ -15,7 +15,7 @@ SequenceTest::createTest (void)
|
|||
|
||||
|
||||
void
|
||||
SequenceTest::preserveEventOrderingTest (void)
|
||||
SequenceTest::preserveEventOrderingTest ()
|
||||
{
|
||||
vector< boost::shared_ptr< Event<Time> > > inserted_events;
|
||||
|
||||
|
|
@ -62,3 +62,32 @@ SequenceTest::preserveEventOrderingTest (void)
|
|||
CPPUNIT_ASSERT_EQUAL(size_t(12), test_notes.size());
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
SequenceTest::iteratorSeekTest ()
|
||||
{
|
||||
size_t num_notes = 0;
|
||||
|
||||
seq->clear();
|
||||
|
||||
for (Notes::const_iterator i = test_notes.begin(); i != test_notes.end(); ++i) {
|
||||
if ((*i)->time() >= 600) {
|
||||
seq->notes().insert(*i);
|
||||
}
|
||||
}
|
||||
|
||||
bool on = true;
|
||||
for (Sequence<Time>::const_iterator i = seq->begin(600); i != seq->end(); ++i) {
|
||||
if (on) {
|
||||
CPPUNIT_ASSERT(((MIDIEvent<Time>&)*i).is_note_on());
|
||||
CPPUNIT_ASSERT_EQUAL(i->time(), Time((num_notes + 6) * 100));
|
||||
++num_notes;
|
||||
on = false;
|
||||
} else {
|
||||
CPPUNIT_ASSERT(((MIDIEvent<Time>&)*i).is_note_off());
|
||||
on = true;
|
||||
}
|
||||
}
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(num_notes, size_t(6));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue