summaryrefslogtreecommitdiff
path: root/libs/ardour/test/bbt_test.cpp
blob: 4dab5c6f32c77fad014c35b7bbae02d004a00afd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <cassert>
#include "ardour/tempo.h"
#include "bbt_test.h"

CPPUNIT_TEST_SUITE_REGISTRATION(BBTTest);

using namespace std;
using namespace ARDOUR;

using Timecode::BBT_Time;

void
BBTTest::addTest ()
{
	TempoMap map(48000);
	Tempo    tempo(120);
	Meter    meter(4.0, 4.0);

	map.add_meter (meter, BBT_Time(1, 1, 0));

	// Test basic operations with a flat tempo map
	BBT_Time time = map.bbt_add(BBT_Time(1, 1, 0), BBT_Time(1, 2, 3));
	//cout << "result: BBT_Time(" << time.bars << ", " << time.beats << ", " 
	//     << time.ticks << ")" << endl;
	CPPUNIT_ASSERT(time == BBT_Time(2, 3, 3));


	time = map.bbt_add(BBT_Time(1, 2, 3), BBT_Time(2, 2, 3));
	//cerr << "result: BBT_Time(" << time.bars << ", " << time.beats << ", " 
	//     << time.ticks << ")" << endl;
	CPPUNIT_ASSERT(time == BBT_Time(3, 4, 6));
}

void
BBTTest::subtractTest ()
{
}