package test.models.interfaces; import net.sf.latexdraw.models.interfaces.shape.ArcStyle; import net.sf.latexdraw.models.interfaces.shape.IArc; import org.junit.Test; import static org.junit.Assert.assertEquals; public abstract class TestIArc<T extends IArc> extends TestIPositionShape<T> { @Test public abstract void testGetStartPoint(); @Test public abstract void testGetEndPoint(); @Test public void testSetGetStyle() { shape.setArcStyle(ArcStyle.CHORD); assertEquals(ArcStyle.CHORD, shape.getArcStyle()); shape.setArcStyle(ArcStyle.ARC); assertEquals(ArcStyle.ARC, shape.getArcStyle()); shape.setArcStyle(ArcStyle.WEDGE); assertEquals(ArcStyle.WEDGE, shape.getArcStyle()); shape.setArcStyle(null); assertEquals(ArcStyle.WEDGE, shape.getArcStyle()); } @Test public void testSetGetAngleStart() { shape.setAngleStart(Math.PI); assertEqualsDouble(Math.PI, shape.getAngleStart()); shape.setAngleStart(0.); assertEqualsDouble(0., shape.getAngleStart()); shape.setAngleStart(2. * Math.PI); assertEqualsDouble(2. * Math.PI, shape.getAngleStart()); shape.setAngleStart(4. * Math.PI); assertEqualsDouble(4. * Math.PI, shape.getAngleStart()); shape.setAngleStart(-2. * Math.PI); assertEqualsDouble(-2. * Math.PI, shape.getAngleStart()); shape.setAngleStart(-4. * Math.PI); assertEqualsDouble(-4. * Math.PI, shape.getAngleStart()); shape.setAngleStart(Double.NaN); assertEqualsDouble(-4. * Math.PI, shape.getAngleStart()); shape.setAngleStart(Double.NEGATIVE_INFINITY); assertEqualsDouble(-4. * Math.PI, shape.getAngleStart()); shape.setAngleStart(Double.POSITIVE_INFINITY); assertEqualsDouble(-4. * Math.PI, shape.getAngleStart()); } @Test public void testSetGetAngleEnd() { shape.setAngleEnd(Math.PI); assertEqualsDouble(Math.PI, shape.getAngleEnd()); shape.setAngleEnd(0.); assertEqualsDouble(0., shape.getAngleEnd()); shape.setAngleEnd(2. * Math.PI); assertEqualsDouble(2. * Math.PI, shape.getAngleEnd()); shape.setAngleEnd(4. * Math.PI); assertEqualsDouble(4. * Math.PI, shape.getAngleEnd()); shape.setAngleEnd(-2. * Math.PI); assertEqualsDouble(-2. * Math.PI, shape.getAngleEnd()); shape.setAngleEnd(-4. * Math.PI); assertEqualsDouble(-4. * Math.PI, shape.getAngleEnd()); shape.setAngleEnd(Double.NaN); assertEqualsDouble(-4. * Math.PI, shape.getAngleEnd()); shape.setAngleEnd(Double.NEGATIVE_INFINITY); assertEqualsDouble(-4. * Math.PI, shape.getAngleEnd()); shape.setAngleEnd(Double.POSITIVE_INFINITY); assertEqualsDouble(-4. * Math.PI, shape.getAngleEnd()); } @Override @Test public void testCopy() { super.testCopy(); shape2.setAngleEnd(-4. * Math.PI); shape2.setAngleStart(-2. * Math.PI); shape2.setArcStyle(ArcStyle.WEDGE); shape.copy(shape2); assertEqualsDouble(-4. * Math.PI, shape.getAngleEnd()); assertEqualsDouble(-2. * Math.PI, shape.getAngleStart()); assertEquals(ArcStyle.WEDGE, shape.getArcStyle()); } }