package musicxmltestsuite.tests.musicxmlin; import static com.xenoage.utils.kernel.Range.range; import static com.xenoage.utils.math.Fraction._0; import static musicxmltestsuite.tests.utils.ChordTest.getChordAt; import static org.junit.Assert.assertEquals; import musicxmltestsuite.tests.base.Base72c; import org.junit.Test; import com.xenoage.zong.core.Score; import com.xenoage.zong.core.instrument.PitchedInstrument; import com.xenoage.zong.core.music.InstrumentChange; import com.xenoage.zong.core.music.Part; import com.xenoage.zong.core.music.Pitch; import com.xenoage.zong.core.music.chord.Chord; import com.xenoage.zong.core.position.MP; public class Test72c implements Base72c, MusicXmlInTest { private Score score = getScore(); @Test public void testNotatedPitches() { for (int iMeasure : range(expectedTransposes.length)) { MP mp = MP.atElement(0, iMeasure, 0, 0); Chord chord = getChordAt(score, mp); Pitch pitch = chord.getNotes().get(0).getPitch(); assertEquals(""+mp, expectedNotatedPitch, pitch); } } @Test public void testTransposes() { //start instrument Part part = score.getStavesList().getParts().get(0); PitchedInstrument instrument = (PitchedInstrument) part.getFirstInstrument(); assertEquals(expectedTransposes[0], instrument.getTranspose()); //instrument change in measure 1 InstrumentChange instrChange = score.getMeasure(MP.atMeasure(0, 1)).getInstrumentChanges().get(_0); instrument = (PitchedInstrument) instrChange.getInstrument(); assertEquals(expectedTransposes[1], instrument.getTranspose()); } }