package test.models;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import net.sf.latexdraw.models.ShapeFactory;
import net.sf.latexdraw.models.interfaces.prop.IArcProp;
import net.sf.latexdraw.models.interfaces.shape.*;
import org.junit.Before;
import org.junit.Test;
import test.models.interfaces.TestIGroup;
public class TestLGroup extends TestIGroup<IGroup> {
@Before
public void setUp() {
shape = ShapeFactory.INST.createGroup();
shape2 = ShapeFactory.INST.createGroup();
}
@Test
public void testCannotAddShapeWhichIsEmptyGroup() {
shape.addShape(ShapeFactory.INST.createGroup());
assertTrue(shape.isEmpty());
shape.addShape(ShapeFactory.INST.createGroup(), -1);
assertTrue(shape.isEmpty());
}
@Override
@Test
public void testIsTypeOf() {
assertFalse(shape.isTypeOf(null));
assertTrue(shape.isTypeOf(shape.getClass()));
assertTrue(shape.isTypeOf(IShape.class));
assertFalse(shape.isTypeOf(IAxes.class));
shape.addShape(ShapeFactory.INST.createAxes(ShapeFactory.INST.createPoint()));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IBezierCurve.class));
shape.addShape(ShapeFactory.INST.createBezierCurve());
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IEllipse.class));
shape.addShape(ShapeFactory.INST.createEllipse());
assertTrue(shape.isTypeOf(IEllipse.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertFalse(shape.isTypeOf(ICircle.class));
shape.addShape(ShapeFactory.INST.createCircle());
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IArc.class));
shape.addShape(ShapeFactory.INST.createCircleArc());
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(IArcProp.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IDot.class));
shape.addShape(ShapeFactory.INST.createDot(ShapeFactory.INST.createPoint()));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IFreehand.class));
shape.addShape(ShapeFactory.INST.createFreeHand());
assertTrue(shape.isTypeOf(IFreehand.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IGrid.class));
shape.addShape(ShapeFactory.INST.createGrid(ShapeFactory.INST.createPoint()));
assertTrue(shape.isTypeOf(IGrid.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertTrue(shape.isTypeOf(IGroup.class));
shape.addShape(ShapeFactory.INST.createGroup());
assertTrue(shape.isTypeOf(IGroup.class));
assertTrue(shape.isTypeOf(IGrid.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IPicture.class));
shape.addShape(ShapeFactory.INST.createPicture(ShapeFactory.INST.createPoint()));
assertTrue(shape.isTypeOf(IPicture.class));
assertTrue(shape.isTypeOf(IGroup.class));
assertTrue(shape.isTypeOf(IGrid.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IPolygon.class));
shape.addShape(ShapeFactory.INST.createPolygon());
assertTrue(shape.isTypeOf(IPolygon.class));
assertTrue(shape.isTypeOf(IPicture.class));
assertTrue(shape.isTypeOf(IGroup.class));
assertTrue(shape.isTypeOf(IGrid.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IPolyline.class));
shape.addShape(ShapeFactory.INST.createPolyline());
assertTrue(shape.isTypeOf(IPolyline.class));
assertTrue(shape.isTypeOf(IPolygon.class));
assertTrue(shape.isTypeOf(IPicture.class));
assertTrue(shape.isTypeOf(IGroup.class));
assertTrue(shape.isTypeOf(IGrid.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IRectangle.class));
shape.addShape(ShapeFactory.INST.createRectangle());
assertTrue(shape.isTypeOf(IRectangle.class));
assertTrue(shape.isTypeOf(IPolyline.class));
assertTrue(shape.isTypeOf(IPolygon.class));
assertTrue(shape.isTypeOf(IPicture.class));
assertTrue(shape.isTypeOf(IGroup.class));
assertTrue(shape.isTypeOf(IGrid.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IRhombus.class));
shape.addShape(ShapeFactory.INST.createRhombus());
assertTrue(shape.isTypeOf(IRhombus.class));
assertTrue(shape.isTypeOf(IRectangle.class));
assertTrue(shape.isTypeOf(IPolyline.class));
assertTrue(shape.isTypeOf(IPolygon.class));
assertTrue(shape.isTypeOf(IPicture.class));
assertTrue(shape.isTypeOf(IGroup.class));
assertTrue(shape.isTypeOf(IGrid.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(ISquare.class));
shape.addShape(ShapeFactory.INST.createSquare());
assertTrue(shape.isTypeOf(ISquare.class));
assertTrue(shape.isTypeOf(IRhombus.class));
assertTrue(shape.isTypeOf(IRectangle.class));
assertTrue(shape.isTypeOf(IPolyline.class));
assertTrue(shape.isTypeOf(IPolygon.class));
assertTrue(shape.isTypeOf(IPicture.class));
assertTrue(shape.isTypeOf(IGroup.class));
assertTrue(shape.isTypeOf(IGrid.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(IText.class));
shape.addShape(ShapeFactory.INST.createText());
assertTrue(shape.isTypeOf(IText.class));
assertTrue(shape.isTypeOf(ISquare.class));
assertTrue(shape.isTypeOf(IRhombus.class));
assertTrue(shape.isTypeOf(IRectangle.class));
assertTrue(shape.isTypeOf(IPolyline.class));
assertTrue(shape.isTypeOf(IPolygon.class));
assertTrue(shape.isTypeOf(IPicture.class));
assertTrue(shape.isTypeOf(IGroup.class));
assertTrue(shape.isTypeOf(IGrid.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
assertFalse(shape.isTypeOf(ITriangle.class));
shape.addShape(ShapeFactory.INST.createTriangle());
assertTrue(shape.isTypeOf(ITriangle.class));
assertTrue(shape.isTypeOf(IText.class));
assertTrue(shape.isTypeOf(ISquare.class));
assertTrue(shape.isTypeOf(IRhombus.class));
assertTrue(shape.isTypeOf(IRectangle.class));
assertTrue(shape.isTypeOf(IPolyline.class));
assertTrue(shape.isTypeOf(IPolygon.class));
assertTrue(shape.isTypeOf(IPicture.class));
assertTrue(shape.isTypeOf(IGroup.class));
assertTrue(shape.isTypeOf(IGrid.class));
assertTrue(shape.isTypeOf(IDot.class));
assertTrue(shape.isTypeOf(ICircleArc.class));
assertTrue(shape.isTypeOf(ICircle.class));
assertTrue(shape.isTypeOf(IBezierCurve.class));
assertTrue(shape.isTypeOf(IArc.class));
assertTrue(shape.isTypeOf(IAxes.class));
}
}