Skip to content

Commit 877c748

Browse files
committed
[Imp] Improve MPTM read/write tests to include a test tuning and long envelopes with differing sizes.
git-svn-id: https://source.openmpt.org/svn/openmpt/trunk/OpenMPT@22583 56274372-70c3-4bfc-bfc3-4c3a0b034d27
1 parent 4da7712 commit 877c748

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

test/test.cpp

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3144,7 +3144,10 @@ static void TestLoadMPTMFile(const CSoundFile &sndFile)
31443144
VERIFY_EQUAL_NONCONT(pIns->wMidiBank, 2);
31453145
VERIFY_EQUAL_NONCONT(pIns->midiPWD, -1);
31463146

3147-
VERIFY_EQUAL_NONCONT(pIns->pTuning, nullptr);
3147+
if(ins == 1)
3148+
VERIFY_EQUAL_NONCONT(pIns->pTuning, nullptr);
3149+
else
3150+
VERIFY_EQUAL_NONCONT(pIns->pTuning->GetName(), UL_("Test Tuning"));
31483151

31493152
VERIFY_EQUAL_NONCONT(pIns->pitchToTempoLock, TEMPO(130, 2000));
31503153

@@ -3163,13 +3166,20 @@ static void TestLoadMPTMFile(const CSoundFile &sndFile)
31633166
VERIFY_EQUAL_NONCONT(pIns->VolEnv[2].tick, 96);
31643167
VERIFY_EQUAL_NONCONT(pIns->VolEnv[2].value, 0);
31653168

3166-
VERIFY_EQUAL_NONCONT(pIns->PanEnv.dwFlags, ENV_LOOP);
3167-
VERIFY_EQUAL_NONCONT(pIns->PanEnv.size(), 76);
3168-
VERIFY_EQUAL_NONCONT(pIns->PanEnv.nLoopStart, 22);
3169+
VERIFY_EQUAL_NONCONT(pIns->PanEnv.dwFlags, ENV_LOOP | ENV_SUSTAIN);
3170+
VERIFY_EQUAL_NONCONT(pIns->PanEnv.size(), (ins == 1) ? 74u : 76u);
3171+
VERIFY_EQUAL_NONCONT(pIns->PanEnv.nLoopStart, 26);
31693172
VERIFY_EQUAL_NONCONT(pIns->PanEnv.nLoopEnd, 29);
3173+
VERIFY_EQUAL_NONCONT(pIns->PanEnv.nSustainStart, 27);
3174+
VERIFY_EQUAL_NONCONT(pIns->PanEnv.nSustainEnd, 28);
31703175
VERIFY_EQUAL_NONCONT(pIns->PanEnv.nReleaseNode, ENV_RELEASE_NODE_UNSET);
3171-
VERIFY_EQUAL_NONCONT(pIns->PanEnv[75].tick, 427);
3172-
VERIFY_EQUAL_NONCONT(pIns->PanEnv[75].value, 27);
3176+
VERIFY_EQUAL_NONCONT(pIns->PanEnv[73].tick, 417);
3177+
VERIFY_EQUAL_NONCONT(pIns->PanEnv[73].value, 23);
3178+
if(ins == 2)
3179+
{
3180+
VERIFY_EQUAL_NONCONT(pIns->PanEnv[75].tick, 427);
3181+
VERIFY_EQUAL_NONCONT(pIns->PanEnv[75].value, 27);
3182+
}
31733183

31743184
VERIFY_EQUAL_NONCONT(pIns->PitchEnv.dwFlags, ENV_ENABLED | ENV_CARRY | ENV_SUSTAIN | ENV_FILTER);
31753185
VERIFY_EQUAL_NONCONT(pIns->PitchEnv.size(), 3);

test/test.mptm

371 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)