package test.models.interfaces; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import net.sf.latexdraw.models.ShapeFactory; import net.sf.latexdraw.models.interfaces.shape.FreeHandStyle; import net.sf.latexdraw.models.interfaces.shape.IFreehand; import net.sf.latexdraw.models.interfaces.shape.IShape; import org.junit.Test; public abstract class TestIFreehand<T extends IFreehand> extends TestIModifiablePointsShape<T> { @Test public void testGetType() { assertEquals(FreeHandStyle.CURVES, shape.getType()); } @Test public void testSetType() { shape.setType(FreeHandStyle.LINES); assertEquals(FreeHandStyle.LINES, shape.getType()); shape.setType(FreeHandStyle.CURVES); assertEquals(FreeHandStyle.CURVES, shape.getType()); shape.setType(null); assertEquals(FreeHandStyle.CURVES, shape.getType()); } @Test public void testIsOpen() { assertTrue(shape.isOpen()); } @Test public void testSetOpen() { shape.setOpen(false); assertFalse(shape.isOpen()); shape.setOpen(true); assertTrue(shape.isOpen()); } @Test public void testGetInterval() { shape.setInterval(22); assertEquals(22, shape.getInterval()); } @Test public void testSetInterval() { shape.setInterval(1); assertEquals(1, shape.getInterval()); shape.setInterval(0); assertEquals(1, shape.getInterval()); shape.setInterval(-1); assertEquals(1, shape.getInterval()); shape.setInterval(50); assertEquals(50, shape.getInterval()); shape.setInterval(Integer.MAX_VALUE); assertEquals(Integer.MAX_VALUE, shape.getInterval()); shape.setInterval(Integer.MIN_VALUE); assertEquals(Integer.MAX_VALUE, shape.getInterval()); } @Override @Test public void testCopy() { shape2.setOpen(false); shape2.setInterval(10); shape2.setType(FreeHandStyle.LINES); shape.copy(shape2); assertFalse(shape.isOpen()); assertEquals(10, shape.getInterval()); assertEquals(FreeHandStyle.LINES, shape.getType()); } @Test public void testCopyWhenNotFreeHand() { IShape sh = ShapeFactory.INST.createCircleArc(); shape.copy(sh); // assertTrue(shape.isParametersEquals(sh, false)); // assertTrue(shape.isParametersEquals(sh, true)); // TODO } @Override @Test public void testDuplicate() { shape.setOpen(false); shape.setInterval(10); shape.setType(FreeHandStyle.LINES); // final IFreehand dup = (IFreehand)shape.duplicate(); // assertTrue(shape.isParametersEquals(dup, false)); // assertTrue(shape.isParametersEquals(dup, true)); // TODO } }