package com.xenoage.zong.musiclayout.notator.chord.stem; import static com.xenoage.utils.math.Delta.df; import static com.xenoage.zong.musiclayout.notator.chord.stem.StemDrawer.stemDrawer; import static material.Examples.test; import static org.junit.Assert.assertEquals; import material.stem.length.Example; import org.junit.Test; import com.xenoage.zong.musiclayout.notation.chord.ChordLps; /** * Tests for {@link StemDrawer}. * * @author Andreas Wenger */ public class StemDrawerTest { private StemDrawer testee = stemDrawer; @Test public void getPreferredStemLengthTest() { test(Example.all, (suite, example) -> { float expectedLengthIs = example.stemLengthIs; float lengthIs = testee.getPreferredStemLengthIs(new ChordLps(example.noteLp), example.stemDir, example.staffLines); assertEquals(suite.getName() + ": " + example.name + " expected stem length of " + expectedLengthIs + ", but was " + lengthIs, expectedLengthIs, lengthIs, df); }); } @Test public void isStemLengthenedToMiddleLineTest() { test(Example.all, (suite, example) -> { boolean expected = example.isLengthenedToMiddleLine; boolean lengthened = testee.isStemExtendedToMiddleLine(new ChordLps(example.noteLp), example.stemDir, example.staffLines); assertEquals(suite.getName() + ": " + example.name + " expected " + (expected ? "" : "NO ") + "stem lengthening but it was " + (lengthened ? "" : "NOT ") + "lengthened.", expected, lengthened); }); } }