package com.xenoage.zong.musiclayout.spacer.beam.slant; import com.xenoage.zong.musiclayout.spacer.beam.Slant; import org.junit.Test; import static com.xenoage.utils.math.Delta.df; import static com.xenoage.zong.musiclayout.spacer.beam.Direction.Ascending; import static com.xenoage.zong.musiclayout.spacer.beam.Direction.Descending; import static com.xenoage.zong.musiclayout.spacer.beam.Slant.slant; import static com.xenoage.zong.musiclayout.spacer.beam.Slant.slantIs; import static org.junit.Assert.*; /** * Tests for {@link Slant}. * * @author Andreas Wenger */ public class SlantTest { @Test public void slantDirTest() { Slant slant = slantIs(1, 2, Ascending); assertEquals(1, slant.getMinIs(), df); assertEquals(2, slant.getMaxIs(), df); assertEquals(1, slant.getFlattestIs(), df); slant = slantIs(1, 2, Descending); assertEquals(-2, slant.getMinIs(), df); assertEquals(-1, slant.getMaxIs(), df); assertEquals(-1, slant.getFlattestIs(), df); } @Test public void limitQsTest() { Slant slant = slant(0).limitQs(1); assertEquals(0, slant.getMinIs(), df); assertEquals(0, slant.getMaxIs(), df); slant = slantIs(0, 2, Ascending).limitQs(1 * 4); assertEquals(0, slant.getMinIs(), df); assertEquals(1, slant.getMaxIs(), df); slant = slantIs(2, 3, Ascending).limitQs(1 * 4); assertEquals(1, slant.getMinIs(), df); assertEquals(1, slant.getMaxIs(), df); slant = slantIs(0, 1, Descending).limitQs(1 * 4); assertEquals(-1, slant.getMinIs(), df); assertEquals(0, slant.getMaxIs(), df); slant = slantIs(2, 3, Descending).limitQs(1 * 4); assertEquals(-1, slant.getMinIs(), df); assertEquals(-1, slant.getMaxIs(), df); } }