mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-12 17:46:34 +01:00
Update evoral test suite
This commit is contained in:
parent
9a848d5ba6
commit
5ab2e34b2c
3 changed files with 65 additions and 0 deletions
33
libs/evoral/test/NoteTest.cpp
Normal file
33
libs/evoral/test/NoteTest.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
#include "NoteTest.hpp"
|
||||||
|
#include "evoral/Note.hpp"
|
||||||
|
#include "evoral/Beats.hpp"
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
CPPUNIT_TEST_SUITE_REGISTRATION (NoteTest);
|
||||||
|
|
||||||
|
using namespace Evoral;
|
||||||
|
|
||||||
|
typedef Beats Time;
|
||||||
|
|
||||||
|
void
|
||||||
|
NoteTest::copyTest ()
|
||||||
|
{
|
||||||
|
Note<Time> a(0, Beats(1.0), Beats(2.0), 60, 0x40);
|
||||||
|
Note<Time> b(a);
|
||||||
|
CPPUNIT_ASSERT (a == b);
|
||||||
|
|
||||||
|
// Broken due to event double free!
|
||||||
|
// Note<Time> c(1, Beats(3.0), Beats(4.0), 61, 0x41);
|
||||||
|
// c = a;
|
||||||
|
// CPPUNIT_ASSERT (a == c);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
NoteTest::idTest ()
|
||||||
|
{
|
||||||
|
Note<Time> a(0, Beats(1.0), Beats(2.0), 60, 0x40);
|
||||||
|
CPPUNIT_ASSERT_EQUAL (-1, a.id());
|
||||||
|
|
||||||
|
a.set_id(1234);
|
||||||
|
CPPUNIT_ASSERT_EQUAL (1234, a.id());
|
||||||
|
}
|
||||||
16
libs/evoral/test/NoteTest.hpp
Normal file
16
libs/evoral/test/NoteTest.hpp
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#include <cppunit/TestFixture.h>
|
||||||
|
#include <cppunit/extensions/HelperMacros.h>
|
||||||
|
|
||||||
|
class NoteTest : public CppUnit::TestFixture
|
||||||
|
{
|
||||||
|
CPPUNIT_TEST_SUITE (NoteTest);
|
||||||
|
CPPUNIT_TEST (copyTest);
|
||||||
|
CPPUNIT_TEST (idTest);
|
||||||
|
CPPUNIT_TEST_SUITE_END ();
|
||||||
|
|
||||||
|
public:
|
||||||
|
void copyTest ();
|
||||||
|
void idTest ();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -72,6 +72,22 @@ SMFTest::takeFiveTest ()
|
||||||
seq->end_write (Sequence<Time>::Relax,
|
seq->end_write (Sequence<Time>::Relax,
|
||||||
Evoral::Beats::ticks_at_rate(time, smf.ppqn()));
|
Evoral::Beats::ticks_at_rate(time, smf.ppqn()));
|
||||||
CPPUNIT_ASSERT(!seq->empty());
|
CPPUNIT_ASSERT(!seq->empty());
|
||||||
|
|
||||||
|
// Iterate over all notes
|
||||||
|
bool on = true;
|
||||||
|
size_t num_notes = 0;
|
||||||
|
size_t num_sysexes = 0;
|
||||||
|
for (Sequence<Time>::const_iterator i = seq->begin(Evoral::Beats()); i != seq->end(); ++i) {
|
||||||
|
if (i->is_note_on()) {
|
||||||
|
++num_notes;
|
||||||
|
} else if (i->is_sysex()) {
|
||||||
|
++num_sysexes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CPPUNIT_ASSERT_EQUAL(size_t(3833), seq->notes().size());
|
||||||
|
CPPUNIT_ASSERT_EQUAL(size_t(3833), num_notes);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(size_t(232), seq->sysexes().size());
|
||||||
|
CPPUNIT_ASSERT_EQUAL(size_t(232), num_sysexes);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue