package com.github.pfichtner.jrunalyser.base.data; import static org.junit.Assert.assertEquals; import org.junit.Test; import com.github.pfichtner.jrunalyser.base.data.DefaultDistance; import com.github.pfichtner.jrunalyser.base.data.DefaultGradient; import com.github.pfichtner.jrunalyser.base.data.Distance; import com.github.pfichtner.jrunalyser.base.data.DistanceUnit; import com.github.pfichtner.jrunalyser.base.data.Gradient; public class DefaultGradientTest { @Test public void testPositive() { Distance d = DefaultDistance.of(1, DistanceUnit.KILOMETERS); Distance h = DefaultDistance.of(1, DistanceUnit.METERS); Gradient gradient = DefaultGradient.of(d, h); assertEquals(0.1, gradient.convertTo(DistanceUnit.METERS).getValue(), 0.001); assertEquals(0.0001, gradient.convertTo(DistanceUnit.KILOMETERS) .getValue(), 0.001); } @Test public void testPositive2() { Distance d = DefaultDistance.of(100, DistanceUnit.METERS); Distance h = DefaultDistance.of(50, DistanceUnit.METERS); Gradient gradient = DefaultGradient.of(d, h); assertEquals(50, gradient.convertTo(DistanceUnit.METERS).getValue(), 0.001); assertEquals(0.05, gradient.convertTo(DistanceUnit.KILOMETERS) .getValue(), 0.001); } @Test public void testNegative() { Distance d = DefaultDistance.of(1, DistanceUnit.KILOMETERS); Distance h = DefaultDistance.of(-1, DistanceUnit.METERS); Gradient gradient = DefaultGradient.of(d, h); assertEquals(-0.1, gradient.convertTo(DistanceUnit.METERS).getValue(), 0.001); assertEquals(-0.0001, gradient.convertTo(DistanceUnit.KILOMETERS) .getValue(), 0.001); } @Test public void testNegative1() { Distance d = DefaultDistance.of(100, DistanceUnit.METERS); Distance h = DefaultDistance.of(-50, DistanceUnit.METERS); Gradient gradient = DefaultGradient.of(d, h); assertEquals(-50, gradient.convertTo(DistanceUnit.METERS).getValue(), 0.001); assertEquals(-0.05, gradient.convertTo(DistanceUnit.KILOMETERS) .getValue(), 0.001); } }