13
0

tests: add new test to check that tempo map reset changes beat time correctly

This commit is contained in:
Paul Davis 2022-11-21 18:18:16 -07:00
parent f5887b978d
commit a84d3e04c4

View File

@ -11,11 +11,28 @@ using namespace Temporal;
void
TempoMapTest::createTest()
{
CPPUNIT_ASSERT (TempoMap::use() != 0);
}
void
TempoMapTest::addTest()
{
TempoMap::WritableSharedPtr tmap (TempoMap::write_copy());
TempoPoint& tp = tmap->set_tempo (Tempo (180, 4), BBT_Time (6, 1, 0));
tmap->set_meter (Meter (6, 8), BBT_Time (3, 1, 0));
/* tp is at 6|1|0 which is 3|0|0 after the 6/8 meter at ((3-1) * 4 =) 8
* quarter notes), so 3 bars of 6
* 8th notes, or 18 8 notes, or 9 4th notes. So its quarter time should
* be 12 + 9 = 17
*/
std::cout << "\n\n\n\***************** tp = " << tp.beats() << std::endl;
CPPUNIT_ASSERT (tp.beats() == Beats (17,0));
tmap->abort_update ();
}
void