Package test.glib.models.interfaces

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

package test.glib.models.interfaces;

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

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import net.sf.latexdraw.glib.models.ShapeFactory;
import net.sf.latexdraw.glib.models.interfaces.shape.IDrawing;
import net.sf.latexdraw.glib.models.interfaces.shape.IGroup;
import net.sf.latexdraw.glib.models.interfaces.shape.IShape;

import org.junit.Test;

public abstract class TestIDrawing {
  public IDrawing drawing;



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

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


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

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


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

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


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

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

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


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

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

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


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

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


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

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

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


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

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


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

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


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


  @Test
  public void testGetSelection() {
    assertNotNull(drawing.getSelection());
  }


  @Test
  public void testSetSelectionList() {
    List<IShape> list = new ArrayList<>();
    IGroup selection  = drawing.getSelection();
    IShape sh = ShapeFactory.createRectangle();
    IShape sh2;

    list.add(sh);
    drawing.setSelection(list);
    assertEquals(selection, drawing.getSelection());
    assertEquals(1, drawing.getSelection().size());
    assertEquals(sh, drawing.getSelection().getShapeAt(0));

    list = new ArrayList<>();
    sh   = ShapeFactory.createRectangle();
    sh2  = ShapeFactory.createRectangle();
    list.add(sh);
    list.add(sh2);
    drawing.setSelection(list);
    assertEquals(selection, drawing.getSelection());
    assertEquals(2, drawing.getSelection().size());
    assertEquals(sh, drawing.getSelection().getShapeAt(0));
    assertEquals(sh2, drawing.getSelection().getShapeAt(1));
    drawing.setSelection(Collections.<IShape>emptyList());
    assertNotNull(drawing.getSelection());
    assertEquals(0, drawing.getSelection().size());
  }
}
TOP

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

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.