Update evoral test suite
This commit is contained in:
parent
9a848d5ba6
commit
5ab2e34b2c
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,
|
||||
Evoral::Beats::ticks_at_rate(time, smf.ppqn()));
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue
Block a user