From a84d3e04c4791f6c4ed8451cc2271d1dfe46b791 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 21 Nov 2022 18:18:16 -0700 Subject: [PATCH] tests: add new test to check that tempo map reset changes beat time correctly --- libs/temporal/test/TempoMapTest.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libs/temporal/test/TempoMapTest.cc b/libs/temporal/test/TempoMapTest.cc index 77d69853ef..5162393bd3 100644 --- a/libs/temporal/test/TempoMapTest.cc +++ b/libs/temporal/test/TempoMapTest.cc @@ -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