Package test.parser.pst

Source Code of test.parser.pst.TestParsingPsBegin

package test.parser.pst;

import static org.junit.Assert.*;

import java.text.ParseException;

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.parsers.pst.parser.PSTParser;

import org.junit.Test;

public class TestParsingPsBegin extends TestPSTParser {

  @Test
  public void testPspictureWithGridAndShapesBasic() throws ParseException {
    IGroup group = parser.parsePSTCode("\\pspicture(0,0)(2,2)\n\\psgrid\n\\psframe(0,0)(2,2)\n\\psframe(1,1)(3,3)\n\\endpspicture").get(); //$NON-NLS-1$
    IGrid grid = (IGrid)group.getShapeAt(0);
    IRectangle rec1 = (IRectangle)group.getShapeAt(1);
    IRectangle rec2 = (IRectangle)group.getShapeAt(2);
    assertTrue(PSTParser.errorLogs().isEmpty());

    assertEquals(0., grid.getPosition().getX(), 0.001);
    assertEquals(0., grid.getPosition().getY(), 0.001);
    assertEquals(0., rec1.getPosition().getX(), 0.001);
    assertEquals(0., rec1.getPosition().getY(), 0.001);
    assertEquals(IShape.PPC, rec2.getPosition().getX(), 0.001);
    assertEquals(-(double)IShape.PPC, rec2.getPosition().getY(), 0.001);
  }
 
  @Test
  public void testPspictureWithGridAndShapesComplex() throws ParseException {
    IGroup group = parser.parsePSTCode("\\pspicture(-3,-3)(2,2)\n\\psgrid\n\\psframe(0,0)(2,2)\n\\psframe(1,1)(3,3)\n\\endpspicture").get(); //$NON-NLS-1$
    IGrid grid = (IGrid)group.getShapeAt(0);
    IRectangle rec1 = (IRectangle)group.getShapeAt(1);
    IRectangle rec2 = (IRectangle)group.getShapeAt(2);
    assertTrue(PSTParser.errorLogs().isEmpty());

    assertEquals(0.0, grid.getPosition().getX(), 0.001);
    assertEquals(0.0, grid.getPosition().getY(), 0.001);
    assertEquals(0., rec1.getPosition().getX(), 0.001);
    assertEquals(0., rec1.getPosition().getY(), 0.001);
    assertEquals(IShape.PPC, rec2.getPosition().getX(), 0.001);
    assertEquals(-(double)IShape.PPC, rec2.getPosition().getY(), 0.001);
  }

 
  @Test
  public void testPspictureWithGrid() throws ParseException {
    IGroup group = parser.parsePSTCode("\\pspicture\\psgrid\\endpspicture").get(); //$NON-NLS-1$
    IGrid grid = (IGrid)group.getShapeAt(0);
    assertTrue(PSTParser.errorLogs().isEmpty());

    assertEquals(10., grid.getGridMaxX(), 0.001);
    assertEquals(10., grid.getGridMaxY(), 0.001);
    assertEquals(0., grid.getGridMinY(), 0.001);
    assertEquals(0., grid.getGridMinX(), 0.001);
  }
 
 
  @Test
  public void testBeginPsPictureWithGrid() throws ParseException {
    IGroup group = parser.parsePSTCode("\\begin{pspicture}\\psgrid\\end{pspicture}").get(); //$NON-NLS-1$
    IGrid grid = (IGrid)group.getShapeAt(0);
    assertTrue(PSTParser.errorLogs().isEmpty());

    assertEquals(10., grid.getGridMaxX(), 0.001);
    assertEquals(10., grid.getGridMaxY(), 0.001);
    assertEquals(0., grid.getGridMinY(), 0.001);
    assertEquals(0., grid.getGridMinX(), 0.001);
  }
 
  @Test
  public void testBeginPsPictureWithGridAndShapesBasic() throws ParseException {
    IGroup group = parser.parsePSTCode("\\begin{pspicture}(0,0)(2,2)\n\\psgrid\n\\psframe(0,0)(2,2)\n\\psframe(1,1)(3,3)\n\\end{pspicture}").get(); //$NON-NLS-1$
    IGrid grid = (IGrid)group.getShapeAt(0);
    IRectangle rec1 = (IRectangle)group.getShapeAt(1);
    IRectangle rec2 = (IRectangle)group.getShapeAt(2);
    assertTrue(PSTParser.errorLogs().isEmpty());

    assertEquals(0., grid.getPosition().getX(), 0.001);
    assertEquals(0., grid.getPosition().getY(), 0.001);
    assertEquals(0., rec1.getPosition().getX(), 0.001);
    assertEquals(0., rec1.getPosition().getY(), 0.001);
    assertEquals(IShape.PPC, rec2.getPosition().getX(), 0.001);
    assertEquals(-(double)IShape.PPC, rec2.getPosition().getY(), 0.001);
  }



  @Test
  public void testBeginPsPictureWithGridAndShapesComplex() throws ParseException {
    IGroup group = parser.parsePSTCode("\\begin{pspicture}(-3,-3)(2,2)\n\\psgrid\n\\psframe(0,0)(2,2)\n\\psframe(1,1)(3,3)\n\\end{pspicture}").get(); //$NON-NLS-1$
    IGrid grid = (IGrid)group.getShapeAt(0);
    IRectangle rec1 = (IRectangle)group.getShapeAt(1);
    IRectangle rec2 = (IRectangle)group.getShapeAt(2);
    assertTrue(PSTParser.errorLogs().isEmpty());

    assertEquals(0.0, grid.getPosition().getX(), 0.001);
    assertEquals(0.0, grid.getPosition().getY(), 0.001);
    assertEquals(0., rec1.getPosition().getX(), 0.001);
    assertEquals(0., rec1.getPosition().getY(), 0.001);
    assertEquals(IShape.PPC, rec2.getPosition().getX(), 0.001);
    assertEquals(-(double)IShape.PPC, rec2.getPosition().getY(), 0.001);
  }



  @Test
  public void testBeginPsPictureStar2Coord() throws ParseException {
    parser.parsePSTCode("\\begin{pspicture*}(0,0)(1,1)\n\n\\end{pspicture*}"); //$NON-NLS-1$
    assertTrue(PSTParser.errorLogs().isEmpty());
  }



  @Test
  public void testBeginPsPictureStar1Coord() throws ParseException {
    parser.parsePSTCode("\\begin{pspicture*}(1,1)\n\n\\end{pspicture*}"); //$NON-NLS-1$
    assertTrue(PSTParser.errorLogs().isEmpty());
  }


  @Test
  public void testBeginPsPicture2Coord() throws ParseException {
    parser.parsePSTCode("\\begin{pspicture}(0,0)(1,1)\n\n\\end{pspicture}"); //$NON-NLS-1$
    assertTrue(PSTParser.errorLogs().isEmpty());
  }



  @Test
  public void testBeginPsPicture1Coord() throws ParseException {
    parser.parsePSTCode("\\begin{pspicture}(1,1)\n\n\\end{pspicture}"); //$NON-NLS-1$
    assertTrue(PSTParser.errorLogs().isEmpty());
  }



  @Test(expected=ParseException.class)
  public void testBeginPsPictureErrorOnNoEnd() throws ParseException {
    parser.parsePSTCode("\\begin{pspicture}(1,1)"); //$NON-NLS-1$
  }


  @Test(expected=ParseException.class)
  public void testBeginPsPictureErrorOnNoStart() throws ParseException {
    parser.parsePSTCode("\\end{pspicture}"); //$NON-NLS-1$
  }




  @Override
  public String getCommandName() {
    return ""; //$NON-NLS-1$
  }

  @Override
  public String getBasicCoordinates() {
    return ""; //$NON-NLS-1$
  }
}
TOP

Related Classes of test.parser.pst.TestParsingPsBegin

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.