package musicxmltestsuite.tests.base;
import static com.xenoage.utils.kernel.Range.range;
import static com.xenoage.zong.core.music.Pitch.pi;
import com.xenoage.zong.core.music.Pitch;
public interface Base01a
extends Base {
@Override default String getFileName() {
return "01a-Pitches-Pitches.xml";
}
default Pitch[] getExpectedPitches() {
Pitch[] expectedPitches = new Pitch[24 * 4 + 6];
int iPitch = 0;
for (int alter : new int[] { 0, 1, -1 }) {
Pitch nextPitch = pi('G', alter, 2);
for (int i = 0; i < 8 * 4; i++) {
expectedPitches[iPitch++] = nextPitch;
int newStep = nextPitch.getStep() + 1;
int newOctave = nextPitch.getOctave();
if (newStep > 6) {
newStep = 0;
newOctave += 1;
}
nextPitch = pi(newStep, alter, newOctave);
}
}
expectedPitches[iPitch++] = pi(0, 2, 5);
expectedPitches[iPitch++] = pi(0, -2, 5);
expectedPitches[iPitch++] = pi(0, 1, 5);
expectedPitches[iPitch++] = pi(0, 1, 5);
expectedPitches[iPitch++] = pi(0, 1, 5);
expectedPitches[iPitch++] = pi(0, 1, 5);
return expectedPitches;
}
default int[] getExpectedLPs() {
int[] expectedLPs = new int[24 * 4 + 6];
for (int i1 : range(3))
for (int i2 : range(8 * 4))
expectedLPs[i1 * 8 * 4 + i2] = -12 + i2;
for (int i : range(4))
expectedLPs[3 * 8 * 4 + i] = 5;
return expectedLPs;
}
}