package nodebox.util; import nodebox.util.waves.*; import org.junit.Test; import static junit.framework.TestCase.*; public class WavesTest { @Test public void testConvertFromMinMax() { AbstractWave w = SineWave.from(-20, 20, 100); assertEquals(20f, w.getAmplitude()); assertEquals(0f, w.getOffset()); w = SineWave.from(-25, 35, 100); assertEquals(30f, w.getAmplitude()); assertEquals(5f, w.getOffset()); w = SineWave.from(-35, 25, 100); assertEquals(30f, w.getAmplitude()); assertEquals(-5f, w.getOffset()); assertEquals(100f, w.getPeriod()); w = SawtoothWave.from(-20, 20, 100); assertEquals(20f, w.getAmplitude()); assertEquals(0f, w.getOffset()); w = SquareWave.from(-25, 35, 100); assertEquals(30f, w.getAmplitude()); assertEquals(5f, w.getOffset()); w = TriangleWave.from(-35, 25, 100); assertEquals(30f, w.getAmplitude()); assertEquals(-5f, w.getOffset()); } @Test public void testSineWave() { SineWave w = new SineWave(120, 20); assertEquals(0f, w.getValueAt(0), 0.0001); assertEquals(-20f, w.getValueAt(30), 0.0001); assertEquals(0f, w.getValueAt(60), 0.0001); assertEquals(20f, w.getValueAt(90), 0.0001); assertEquals(0f, w.getValueAt(120), 0.0001); } }