package musicxmltestsuite.tests.musicxmlin; import static com.xenoage.utils.math.Fraction._0; import static com.xenoage.utils.math.Fraction.fr; import static com.xenoage.zong.core.position.MP.mp0; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import musicxmltestsuite.tests.base.Base12b; import org.junit.Test; import com.xenoage.zong.core.Score; import com.xenoage.zong.core.header.ColumnHeader; import com.xenoage.zong.core.music.MusicContext; import com.xenoage.zong.core.music.clef.ClefType; import com.xenoage.zong.core.music.time.TimeType; import com.xenoage.zong.core.music.util.Interval; public class Test12b implements Base12b, MusicXmlInTest { @Test public void test() { Score score = getScore(); //musical context must be 4/4, C clef and no accidentals MusicContext context = score.getMusicContext(mp0, Interval.At, Interval.At); assertEquals(fr(4, 4), score.getMeasureBeats(0)); assertEquals(ClefType.clefTreble, context.getClef()); for (int i = 0; i < 7; i++) assertEquals(0, context.getKey().getAlterations()[i]); //there should be a C clef in the first measure assertEquals(ClefType.clefTreble, score.getMeasure(mp0).getClefs().get(_0).getType()); //there should be a time signature and key signature in the measure column ColumnHeader header = score.getHeader().getColumnHeader(0); assertEquals(TimeType.time_4_4, header.getTime().getType()); assertNotNull(header.getKeys().get(_0)); } }