package test.svg.loadSave; import static org.junit.Assert.assertEquals; import org.junit.Test; import net.sf.latexdraw.models.interfaces.shape.BorderPos; import net.sf.latexdraw.models.interfaces.shape.ISquaredShape; public abstract class TestLoadSaveSVGSquaredShape<T extends ISquaredShape> extends TestLoadSaveSVGPositionShape<T> { protected void setSquare(final double x, final double y, final double w) { shape.setPosition(x, y + w); shape.setWidth(w); } @Override protected void setDefaultDimensions() { setSquare(2, 30, 20); } @Override protected void compareShapes(final T r2) { super.compareShapes(r2); assertEquals(shape.getPosition().getX(), r2.getPosition().getX(), 0.0001); assertEquals(shape.getPosition().getY(), r2.getPosition().getY(), 0.0001); assertEquals(shape.getWidth(), r2.getWidth(), 0.0001); assertEquals(shape.getHeight(), r2.getHeight(), 0.0001); } @Test public void testDimensionOkWith00Position() { setSquare(0, 0, 10); compareShapes(generateShape()); } @Test public void testDimensionOkWithPositivePosition() { setSquare(5, 5, 10); compareShapes(generateShape()); } @Test public void testDimensionOkWithNegPosition() { setSquare(-21, -829, 923); compareShapes(generateShape()); } @Test public void testDimensionOkWith00PositionAndMiddleBord() { if(shape.isBordersMovable()) { shape.setBordersPosition(BorderPos.MID); setSquare(0, 0, 10); compareShapes(generateShape()); } } @Test public void testDimensionOkWithPositivePositionAndMiddleBord() { if(shape.isBordersMovable()) { shape.setBordersPosition(BorderPos.MID); setSquare(5, 5, 10); compareShapes(generateShape()); } } @Test public void testDimensionOkWithNegPositionAndMiddleBord() { if(shape.isBordersMovable()) { shape.setBordersPosition(BorderPos.MID); setSquare(-21, -829, 923); compareShapes(generateShape()); } } @Test public void testDimensionOkWith00PositionAndOutBord() { if(shape.isBordersMovable()) { shape.setBordersPosition(BorderPos.OUT); setSquare(0, 0, 10); compareShapes(generateShape()); } } @Test public void testDimensionOkWithPositivePositionAndOutBord() { if(shape.isBordersMovable()) { shape.setBordersPosition(BorderPos.OUT); setSquare(5, 5, 10); compareShapes(generateShape()); } } @Test public void testDimensionOkWithNegPositionAndOutBord() { if(shape.isBordersMovable()) { shape.setBordersPosition(BorderPos.OUT); setSquare(-21, -829, 923); compareShapes(generateShape()); } } }