Package test.glib.models.interfaces

Source Code of test.glib.models.interfaces.TestIGroup

package test.glib.models.interfaces;


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

import java.awt.Color;

import net.sf.latexdraw.glib.models.ShapeFactory;
import net.sf.latexdraw.glib.models.interfaces.shape.IGrid;
import net.sf.latexdraw.glib.models.interfaces.shape.IGroup;
import net.sf.latexdraw.glib.models.interfaces.shape.IRectangle;
import net.sf.latexdraw.glib.models.interfaces.shape.IShape;
import net.sf.latexdraw.glib.models.interfaces.shape.IShape.FillingStyle;

import org.junit.Test;

public abstract class TestIGroup<T extends IGroup> extends TestIShape<T> {
  @Test
  public void testAddShapeIShape() {
    IShape sh1 = ShapeFactory.createRectangle();
    IShape sh2 = ShapeFactory.createRectangle();

    shape.addShape(sh1);
    shape.addShape(sh2);
    assertEquals(2, shape.getShapes().size());
    assertEquals(sh1, shape.getShapes().get(0));
    assertEquals(sh2, shape.getShapes().get(1));
    shape.addShape((IShape)null);
    assertEquals(2, shape.getShapes().size());
    assertEquals(sh1, shape.getShapes().get(0));
    assertEquals(sh2, shape.getShapes().get(1));
  }


  @Override
  @Test
  public void testAddToRotationAngle() {
    shape.addShape(ShapeFactory.createRectangle());
    shape.addShape(ShapeFactory.createDot(ShapeFactory.createPoint()));
    super.testAddToRotationAngle();
  }


  @Test
  public void testAddShapeIShapeInt() {
    IShape sh1 = ShapeFactory.createRectangle();
    IShape sh2 = ShapeFactory.createRectangle();
    IShape sh3 = ShapeFactory.createRectangle();

    shape.addShape(sh1, 1);
    assertEquals(0, shape.getShapes().size());
    shape.addShape(sh1, -2);
    assertEquals(0, shape.getShapes().size());
    shape.addShape(sh1, 0);
    assertEquals(1, shape.getShapes().size());
    assertEquals(sh1, shape.getShapes().get(0));
    shape.addShape(null, 0);
    assertEquals(1, shape.getShapes().size());
    assertEquals(sh1, shape.getShapes().get(0));
    shape.addShape(sh2, 2);
    assertEquals(1, shape.getShapes().size());
    shape.addShape(sh2, -2);
    assertEquals(1, shape.getShapes().size());
    shape.addShape(sh2, -1);
    assertEquals(2, shape.getShapes().size());
    assertEquals(sh1, shape.getShapes().get(0));
    assertEquals(sh2, shape.getShapes().get(1));
    shape.addShape(sh3, 1);
    assertEquals(3, shape.getShapes().size());
    assertEquals(sh1, shape.getShapes().get(0));
    assertEquals(sh2, shape.getShapes().get(2));
    assertEquals(sh3, shape.getShapes().get(1));
  }


  @Test
  public void testRemoveShapeIShape() {
    IShape sh1 = ShapeFactory.createRectangle();
    IShape sh2 = ShapeFactory.createRectangle();
    IShape sh3 = ShapeFactory.createRectangle();

    shape.getShapes().add(sh1);
    shape.getShapes().add(sh2);
    shape.getShapes().add(sh3);
    shape.removeShape(sh2);
    assertEquals(2, shape.getShapes().size());
    assertEquals(sh1, shape.getShapes().get(0));
    assertEquals(sh3, shape.getShapes().get(1));
    shape.removeShape(null);
    assertEquals(2, shape.getShapes().size());
    assertEquals(sh1, shape.getShapes().get(0));
    assertEquals(sh3, shape.getShapes().get(1));
    shape.removeShape(ShapeFactory.createRectangle());
    assertEquals(2, shape.getShapes().size());
    assertEquals(sh1, shape.getShapes().get(0));
    assertEquals(sh3, shape.getShapes().get(1));
  }


  @Test
  public void testRemoveShapeInt() {
    IShape sh1 = ShapeFactory.createRectangle();
    IShape sh2 = ShapeFactory.createRectangle();
    IShape sh3 = ShapeFactory.createRectangle();

    shape.getShapes().add(sh1);
    shape.getShapes().add(sh2);
    shape.getShapes().add(sh3);

    assertNull(shape.removeShape(4));
    assertNull(shape.removeShape(-2));
    assertEquals(sh2, shape.removeShape(1));
    assertEquals(sh1, shape.removeShape(0));
    assertEquals(sh3, shape.removeShape(-1));
  }


  @Test
  public void testGetShapeAt() {
    IShape sh1 = ShapeFactory.createRectangle();
    IShape sh2 = ShapeFactory.createRectangle();
    IShape sh3 = ShapeFactory.createRectangle();

    shape.getShapes().add(sh1);
    shape.getShapes().add(sh2);
    shape.getShapes().add(sh3);

    assertEquals(sh1, shape.getShapeAt(0));
    assertEquals(sh2, shape.getShapeAt(1));
    assertEquals(sh3, shape.getShapeAt(2));
    assertEquals(sh3, shape.getShapeAt(-1));
    assertNull(shape.getShapeAt(-2));
    assertNull(shape.getShapeAt(3));
  }


  @Test
  public void testSize() {
    IShape sh1 = ShapeFactory.createRectangle();
    IShape sh2 = ShapeFactory.createRectangle();
    IShape sh3 = ShapeFactory.createRectangle();

    shape.getShapes().add(sh1);
    assertEquals(1, shape.size());
    shape.getShapes().add(sh2);
    assertEquals(2, shape.size());
    shape.getShapes().add(sh3);
    assertEquals(3, shape.size());
    shape.getShapes().clear();
    assertEquals(0, shape.size());
  }


  @Test
  public void testContains() {
    IShape sh1 = ShapeFactory.createRectangle();
    IShape sh2 = ShapeFactory.createRectangle();
    IShape sh3 = ShapeFactory.createRectangle();
    IShape sh4 = ShapeFactory.createRectangle();

    shape.getShapes().add(sh1);
    shape.getShapes().add(sh2);
    shape.getShapes().add(sh3);

    assertFalse(shape.contains(null));
    assertFalse(shape.contains(sh4));
    assertTrue(shape.contains(sh1));
    assertTrue(shape.contains(sh2));
    assertTrue(shape.contains(sh3));
  }


  @Test
  public void testIsEmpty() {
    IShape sh1 = ShapeFactory.createRectangle();
    IShape sh2 = ShapeFactory.createRectangle();
    IShape sh3 = ShapeFactory.createRectangle();

    shape.getShapes().clear();
    assertTrue(shape.isEmpty());
    shape.getShapes().add(sh1);
    assertFalse(shape.isEmpty());
    shape.getShapes().add(sh2);
    assertFalse(shape.isEmpty());
    shape.getShapes().add(sh3);
    assertFalse(shape.isEmpty());
    shape.getShapes().clear();
    assertTrue(shape.isEmpty());
  }


  @Test
  public void testClear() {
    IShape sh1 = ShapeFactory.createRectangle();
    IShape sh2 = ShapeFactory.createRectangle();
    IShape sh3 = ShapeFactory.createRectangle();

    shape.getShapes().add(sh1);
    shape.getShapes().add(sh2);
    shape.getShapes().add(sh3);
    shape.clear();
    assertEquals(0, shape.getShapes().size());
  }


  @Test
  public void testGetShapes() {
    assertNotNull(shape.getShapes());
  }


  @Test
  public void testGetDotStyle() {
    //TODO
  }


  @Test
  public void testSetDotStyle() {
    //TODO
  }


  @Override
  @Test
  public void testCopy() {
    //TODO
  }

  @Override
  @Test
  public void testDuplicate() {
    //TODO
  }


  private IRectangle setRectangle(double x, double y, double w, double h) {
    IRectangle rec = ShapeFactory.createRectangle();
    rec.setPosition(x, y);
    rec.setWidth(w);
    rec.setHeight(h);
    return rec;
  }


  @Override
  @Test
  public void testGetFullBottomRightPoint() {
    assertTrue(Double.isNaN(shape.getFullBottomRightPoint().getX()));
    assertTrue(Double.isNaN(shape.getFullBottomRightPoint().getY()));
    IRectangle rec1 = setRectangle(5, 10, 6, 20);
    shape.addShape(rec1);
    assertEquals(rec1.getFullBottomRightPoint(), shape.getFullBottomRightPoint());

    IRectangle rec2 = setRectangle(90, 40, 100, 200);

    shape.addShape(rec2);
    assertEquals(rec2.getFullBottomRightPoint(), shape.getFullBottomRightPoint());
  }


  @Override
  @Test
  public void testGetFullTopLeftPoint() {
    assertTrue(Double.isNaN(shape.getFullTopLeftPoint().getX()));
    assertTrue(Double.isNaN(shape.getFullTopLeftPoint().getY()));
    IRectangle rec2 = setRectangle(90, 40, 10, 21);

    shape.addShape(rec2);
    assertEquals(rec2.getFullTopLeftPoint(), shape.getFullTopLeftPoint());

    IRectangle rec1 = setRectangle(5, 10, 6, 20);
    shape.addShape(rec1);
    assertEquals(rec1.getFullTopLeftPoint(), shape.getFullTopLeftPoint());
  }


  @Override
  public void testGetBottomLeftPoint() {
    assertTrue(Double.isNaN(shape.getBottomLeftPoint().getX()));
    assertTrue(Double.isNaN(shape.getBottomLeftPoint().getY()));
    IRectangle rec2 = setRectangle(90, 40, 10, 21);

    shape.addShape(rec2);
    assertEquals(ShapeFactory.createPoint(90, 40), shape.getBottomLeftPoint());

    IRectangle rec1 = setRectangle(5, 10, 6, 20);
    shape.addShape(rec1);
    assertEquals(ShapeFactory.createPoint(5, 40), shape.getBottomLeftPoint());
  }


  @Override
  public void testGetBottomRightPoint() {
    assertTrue(Double.isNaN(shape.getBottomRightPoint().getX()));
    assertTrue(Double.isNaN(shape.getBottomRightPoint().getY()));
    IRectangle rec1 = setRectangle(5, 10, 6, 20);
    shape.addShape(rec1);
    assertEquals(ShapeFactory.createPoint(11, 10), shape.getBottomRightPoint());

    IRectangle rec2 = setRectangle(90, 40, 10, 21);

    shape.addShape(rec2);
    assertEquals(ShapeFactory.createPoint(100, 40), shape.getBottomRightPoint());
  }


  @Override
  public void testGetTopLeftPoint() {
    assertTrue(Double.isNaN(shape.getTopLeftPoint().getX()));
    assertTrue(Double.isNaN(shape.getTopLeftPoint().getY()));
    IRectangle rec2 = setRectangle(90, 40, 10, 21);

    shape.addShape(rec2);
    assertEquals(ShapeFactory.createPoint(90, 19), shape.getTopLeftPoint());

    IRectangle rec1 = setRectangle(5, 10, 6, 20);
    shape.addShape(rec1);
    assertEquals(ShapeFactory.createPoint(5, -10), shape.getTopLeftPoint());
  }


  @Override
  public void testGetTopRightPoint() {
    assertTrue(Double.isNaN(shape.getTopRightPoint().getX()));
    assertTrue(Double.isNaN(shape.getTopRightPoint().getY()));
    IRectangle rec1 = setRectangle(5, 10, 6, 20);
    shape.addShape(rec1);
    assertEquals(ShapeFactory.createPoint(11, -10), shape.getTopRightPoint());

    IRectangle rec2 = setRectangle(90, 40, 10, 21);

    shape.addShape(rec2);
    assertEquals(ShapeFactory.createPoint(100, -10), shape.getTopRightPoint());
  }


  @Override
  public void testMirrorHorizontal() {
    //TODO
  }


  @Override
  public void testMirrorVertical() {
    //TODO
  }


  @Override
  public void testTranslate() {
    //TODO
  }



  @Override
  @Test
  public void testGetGravityCentre() {
    assertEquals(ShapeFactory.createPoint(0, 0), shape.getGravityCentre());

    IRectangle rec1 = setRectangle(100, 2, 924, 12);
    IRectangle rec2 = setRectangle(200, 828, 17, 87);

    shape.addShape(rec1);
    shape.addShape(rec2);
    assertEquals(ShapeFactory.createPoint((100+100+924)/2., (828+2-12)/2.), shape.getGravityCentre());
  }


  @Override
  @Test
  public void testSetHasHatchings() {
    IRectangle rec1 = ShapeFactory.createRectangle();
    IRectangle rec2 = ShapeFactory.createRectangle();

    shape.addShape(rec1);
    shape.addShape(rec2);
    assertFalse(shape.hasHatchings());

    rec2.setFillingStyle(FillingStyle.HLINES);
    assertTrue(shape.hasHatchings());

    rec1.setFillingStyle(FillingStyle.HLINES);
    rec2.setFillingStyle(FillingStyle.GRAD);
    assertTrue(shape.hasHatchings());

    rec1.setFillingStyle(FillingStyle.HLINES);
    rec2.setFillingStyle(FillingStyle.VLINES);
    assertTrue(shape.hasHatchings());

    rec1.setFillingStyle(FillingStyle.PLAIN);
    rec2.setFillingStyle(FillingStyle.GRAD);
    assertFalse(shape.hasHatchings());
  }


  @Test
  public void testHasHatchingsWithUnstylableShape() {
    IGrid grid = ShapeFactory.createGrid(ShapeFactory.createPoint());

    // The test is useful only if the shape is not stylable.
    assertFalse(grid.isInteriorStylable());

    shape.addShape(grid);

    assertFalse(shape.hasHatchings());
    grid.setFillingStyle(FillingStyle.CLINES_PLAIN);
    assertFalse(shape.hasHatchings());

    IRectangle rec1 = ShapeFactory.createRectangle();
    shape.addShape(rec1);
    assertFalse(shape.hasHatchings());

    rec1.setFillingStyle(FillingStyle.HLINES);
    assertTrue(shape.hasHatchings());
  }


  @Override
  @Test
  public void testSetHasGradient() {
    IGrid grid = ShapeFactory.createGrid(ShapeFactory.createPoint());

    // The test is useful only if the shape is not stylable.
    assertFalse(grid.isInteriorStylable());

    shape.addShape(grid);

    assertFalse(shape.hasGradient());
    grid.setFillingStyle(FillingStyle.GRAD);
    assertFalse(shape.hasGradient());

    IRectangle rec1 = ShapeFactory.createRectangle();
    shape.addShape(rec1);
    assertFalse(shape.hasGradient());

    rec1.setFillingStyle(FillingStyle.VLINES_PLAIN);
    assertFalse(shape.hasGradient());

    rec1.setFillingStyle(FillingStyle.GRAD);
    assertTrue(shape.hasGradient());
  }


  @Override
  @Test
  public void testGetSetGradColEnd() {
    IRectangle rec1 = ShapeFactory.createRectangle();
    IRectangle rec2 = ShapeFactory.createRectangle();

    // The test is useful only if the shape is stylable.
    assertTrue(rec1.isInteriorStylable());

    shape.addShape(rec1);
    shape.addShape(rec2);

    shape.setGradColEnd(Color.CYAN);
    assertEquals(Color.CYAN, rec1.getGradColEnd());
    assertEquals(Color.CYAN, rec2.getGradColEnd());
  }


  @Test
  public void testGetGradColEnd() {
    IRectangle rec1 = ShapeFactory.createRectangle();
    IRectangle rec2 = ShapeFactory.createRectangle();

    // The test is useful only if the shape is stylable.
    assertTrue(rec1.isInteriorStylable());

    shape.addShape(rec1);
    shape.addShape(rec2);

    rec1.setGradColEnd(Color.ORANGE);
    rec2.setGradColEnd(Color.PINK);

    assertNotNull(shape.getGradColEnd());
    assertNotEquals(Color.PINK, shape.getGradColEnd());
    assertNotEquals(Color.ORANGE, shape.getGradColEnd());

    rec1.setFillingStyle(FillingStyle.GRAD);
    rec2.setFillingStyle(FillingStyle.GRAD);

    assertEquals(Color.ORANGE, shape.getGradColEnd());
  }


  @Override
  @Test
  public void testGetSetGradColStart() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetGradAngle() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetGradMidPt() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetHatchingsSep() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetHatchingsCol() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetHatchingsAngle() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetHatchingsWidth() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetRotationAngle() {
    //TODO
  }


  @Override
  @Test
  public void testIsSetShowPts() {
    //TODO
  }


  @Override
  @Test
  public void testhasSetDbleBord() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetDbleBordCol() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetDbleBordSep() {
    //TODO
  }


  @Override
  @Test
  public void testHasSetShadow() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetShadowCol() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetShadowAngle() {
    //TODO
  }


  @Override
  @Test
  public void testIsSetFilled() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetShadowSize() {
    //TODO
  }


  @Override
  @Test
  public void testGetSetBorderPosition() {
    //TODO
  }


  @Override
  @Test
  public void testSetGetThickness() {
    //TODO
  }


  @Override
  @Test
  public void testSetGetLineColour() {
    //TODO
  }


  @Override
  @Test
  public void testSetGetLineStyle() {
    //TODO
  }


  @Override
  @Test
  public void testSetGetDashSepWhite() {
    //TODO
  }


  @Override
  @Test
  public void testSetGetDashSepBlack() {
    //TODO
  }


  @Override
  @Test
  public void testSetGetDotSep() {
    //TODO
  }


  @Override
  @Test
  public void testSetGetFillingCol() {
    //TODO
  }


  @Override
  @Test
  public void testSetGetFillingStyle() {
    //TODO
  }
}
TOP

Related Classes of test.glib.models.interfaces.TestIGroup

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.