@Test public void offset() { assertThat(func.evaluate(ORIGIN + OFFSET), is(1.0)); assertThat(func.evaluate(ORIGIN + 0.5 * OFFSET), is(1.0)); assertThat(func.evaluate(ORIGIN - OFFSET), is(1.0)); assertThat(func.evaluate(ORIGIN - 0.5 * OFFSET), is(1.0)); }
@Test public void curve() { assertThat(func.evaluate(ORIGIN + OFFSET + 0.25 * SCALE), is(closeTo(0.95, 0.01))); assertThat(func.evaluate(ORIGIN + OFFSET + 0.5 * SCALE), is(closeTo(0.84, 0.01))); assertThat(func.evaluate(ORIGIN + OFFSET + 0.75 * SCALE), is(closeTo(0.67, 0.01))); assertThat(func.evaluate(ORIGIN + OFFSET + 1.25 * SCALE), is(closeTo(0.33, 0.01))); assertThat(func.evaluate(ORIGIN + OFFSET + 1.5 * SCALE), is(closeTo(0.21, 0.01))); assertThat(func.evaluate(ORIGIN + OFFSET + 1.75 * SCALE), is(closeTo(0.11, 0.01))); }
@Test public void defaults() { final GaussDecayFunction func = new GaussDecayFunction(13, 2); assertThat(func.evaluate(11), is(DEFAULT_DECAY)); }
@Test public void outside() { assertThat(func.evaluate(ORIGIN + 2 * (OFFSET + SCALE)), is(closeTo(0.0, 0.01))); assertThat(func.evaluate(ORIGIN - 2 * (OFFSET + SCALE)), is(closeTo(0.0, 0.01))); }
@Test public void scale() { assertThat(func.evaluate(ORIGIN + (OFFSET + SCALE)), is(DECAY)); assertThat(func.evaluate(ORIGIN - (OFFSET + SCALE)), is(DECAY)); }
@Test public void origin() { assertThat(func.evaluate(ORIGIN), is(1.0)); }