package test.svg; import net.sf.latexdraw.parsers.svg.MalformedSVGDocument; import net.sf.latexdraw.parsers.svg.SVGAttributes; import net.sf.latexdraw.parsers.svg.SVGElements; import net.sf.latexdraw.parsers.svg.SVGEllipseElement; import net.sf.latexdraw.parsers.svg.parsers.SVGLength; import net.sf.latexdraw.parsers.svg.parsers.UnitProcessor; import org.junit.Test; import static org.junit.Assert.*; public class TestSVGEllipseElement extends AbstractTestSVGElement { @SuppressWarnings("unused") @Test public void testContructor() { try { new SVGEllipseElement(null, null); fail(); }catch(Exception e) { /**/} try { new SVGEllipseElement(node, null); fail(); }catch(MalformedSVGDocument e) { /**/} try { node.setAttribute(SVGAttributes.SVG_RX, "dsd"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "dsd"); //$NON-NLS-1$ new SVGEllipseElement(node, null); fail(); }catch(MalformedSVGDocument e) { /**/} try { node.setAttribute(SVGAttributes.SVG_RX, "1"); //$NON-NLS-1$ new SVGEllipseElement(node, null); fail(); }catch(MalformedSVGDocument e) { /**/} try { node.setAttribute(SVGAttributes.SVG_RX, "-1"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "10"); //$NON-NLS-1$ new SVGEllipseElement(node, null); fail(); }catch(MalformedSVGDocument e) { /**/} try { node.setAttribute(SVGAttributes.SVG_RX, "10"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "-1"); //$NON-NLS-1$ new SVGEllipseElement(node, null); fail(); }catch(MalformedSVGDocument e) { /**/} try { node.setAttribute(SVGAttributes.SVG_RX, "10"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "20"); //$NON-NLS-1$ new SVGEllipseElement(node, null); }catch(MalformedSVGDocument e) { fail(); } } @Test public void testGetCy() throws MalformedSVGDocument { node.setAttribute(SVGAttributes.SVG_RX, "10"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "20"); //$NON-NLS-1$ SVGEllipseElement e = new SVGEllipseElement(node, null); assertEquals(e.getCy(), 0., 0.0001); node.setAttribute(SVGAttributes.SVG_CY, "40"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertEquals(e.getCy(), 40., 0.0001); node.setAttribute(SVGAttributes.SVG_CY, "40px"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertEquals(e.getCy(), 40., 0.0001); node.setAttribute(SVGAttributes.SVG_CY, "40 cm"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertEquals(e.getCy(), UnitProcessor.INSTANCE.toUserUnit(40, SVGLength.LengthType.CM), 0.0001); } @Test public void testGetCx() throws MalformedSVGDocument { node.setAttribute(SVGAttributes.SVG_RX, "10"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "20"); //$NON-NLS-1$ SVGEllipseElement e = new SVGEllipseElement(node, null); assertEquals(e.getCx(), 0., 0.0001); node.setAttribute(SVGAttributes.SVG_CX, "30"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertEquals(e.getCx(), 30., 0.0001); node.setAttribute(SVGAttributes.SVG_CX, "40px"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertEquals(e.getCx(), 40., 0.0001); node.setAttribute(SVGAttributes.SVG_CX, "40 cm"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertEquals(e.getCx(), UnitProcessor.INSTANCE.toUserUnit(40, SVGLength.LengthType.CM), 0.0001); } @Test public void testEnableRendering() throws MalformedSVGDocument { node.setAttribute(SVGAttributes.SVG_RX, "0"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "0"); //$NON-NLS-1$ SVGEllipseElement e = new SVGEllipseElement(node, null); assertFalse(e.enableRendering()); node.setAttribute(SVGAttributes.SVG_RX, "10"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "0"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertFalse(e.enableRendering()); node.setAttribute(SVGAttributes.SVG_RX, "0"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "10"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertFalse(e.enableRendering()); node.setAttribute(SVGAttributes.SVG_RX, "10"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "10"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertTrue(e.enableRendering()); } @Test public void testGetRy() throws MalformedSVGDocument { node.setAttribute(SVGAttributes.SVG_RX, "10"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "20"); //$NON-NLS-1$ SVGEllipseElement e = new SVGEllipseElement(node, null); assertEquals(e.getRy(), 20., 0.0001); node.setAttribute(SVGAttributes.SVG_RY, "20 pt"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertEquals(e.getRy(), UnitProcessor.INSTANCE.toUserUnit(20, SVGLength.LengthType.PT), 0.0001); } @Test public void testGetRx() throws MalformedSVGDocument { node.setAttribute(SVGAttributes.SVG_RX, "10"); //$NON-NLS-1$ node.setAttribute(SVGAttributes.SVG_RY, "20"); //$NON-NLS-1$ SVGEllipseElement e = new SVGEllipseElement(node, null); assertEquals(e.getRx(), 10., 0.0001); node.setAttribute(SVGAttributes.SVG_RX, "10mm"); //$NON-NLS-1$ e = new SVGEllipseElement(node, null); assertEquals(e.getRx(), UnitProcessor.INSTANCE.toUserUnit(10, SVGLength.LengthType.MM), 0.0001); } @Override public String getNameNode() { return SVGElements.SVG_ELLIPSE; } }