package test; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; import rectangles.ManipulateurRectangle; import rectangles.Rectangle; public class ManipulateurRectangleTest { /* * * Tests relatifs à ManipulateurRectangle * */ @Test public void testCreerRectangle() throws TestException { ManipulateurRectangle mr = new ManipulateurRectangle(); Class c = mr.getClass(); try { assertTrue(c.getDeclaredMethod("creerRectangle").getReturnType() == Rectangle.class); } catch (NoSuchMethodException e) { throw new TestException("*****verifiez vos signatures de methodes*****"); } catch (AssertionError e) { throw new TestException("*****la methode creerRectangle doit renvoyer un Rectangle*****"); } catch (NoSuchMethodError e) { throw new TestException( "*****verifiez vos signatures de methodes ou c'est que le test verfie des choses que vous n'avez pas encore programmees*****"); } catch (NoClassDefFoundError e) { throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****"); } } @Test public void testTypeToString() throws TestException { Rectangle rec = new Rectangle(0, 100, 50, 60); Class c = rec.getClass(); try { assertTrue(c.getDeclaredMethod("toString").getReturnType() == String.class); } catch (NoSuchMethodException e) { throw new TestException("*****la methode doit s'appeler toString()*****"); } catch (AssertionError e) { throw new TestException("*****la methode toString doit renvoyer un String*****"); } catch (NoSuchMethodError e) { throw new TestException( "*****verifiez vos signatures de methodes ou c'est que le test verfie des choses que vous n'avez pas encore programmees*****"); } } @Test public void testTabRect() throws TestException { ManipulateurRectangle mr = new ManipulateurRectangle(); Class c = mr.getClass(); try { assertTrue(c.getDeclaredField("tabRect").getGenericType() == Rectangle[].class); } catch (NoSuchFieldException e) { throw new TestException( "*****verifiez le nom de votre variable d'instance ou qu'elle est bien public ou c'est que le test verfie des choses que vous n'avez pas encore programmees*****"); } catch (AssertionError e) { throw new TestException("*****la variable d'instance tabRect doit etre de type tableau de Rectangle*****"); } catch (NoSuchFieldError e) { throw new TestException( "*****verifiez vos variables d'instances ou c'est que le test verfie des choses que vous n'avez pas encore programmees*****"); } catch (NoClassDefFoundError e) { throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****"); } } @Test public void testCreerTableauRectangle() throws TestException { ManipulateurRectangle mr = new ManipulateurRectangle(); Class c = mr.getClass(); try { assertTrue(c.getDeclaredMethod("creerTableauRectangle").getReturnType() == void.class); } catch (NoSuchMethodException e) { throw new TestException("*****verifiez vos signatures de methodes*****"); } catch (AssertionError e) { throw new TestException("*****la methode creerTableauRectangle ne doit rien renvoyer*****"); } catch (NoSuchMethodError e) { throw new TestException( "*****verifiez vos signatures de methodes ou c'est que le test verfie des choses que vous n'avez pas encore programmees*****"); } catch (NoClassDefFoundError e) { throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****"); } } @Test public void testResultatCreerTableauRectangle() throws TestException { ManipulateurRectangle mr = new ManipulateurRectangle(); mr.creerTableauRectangle(); try { assertFalse(mr.tabRect.length == 0); assertTrue(mr.tabRect[0].getClass() == Rectangle.class); } catch (AssertionError e) { throw new TestException("*****la methode creerTableauRectangle doit creer un tableau de rectangle*****"); } catch (NoSuchMethodError e) { throw new TestException( "*****verifiez vos signatures de methodes ou c'est que le test verfie des choses que vous n'avez pas encore programmees*****"); } catch (NoClassDefFoundError e) { throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****"); } } @Test public void testMax() throws TestException { ManipulateurRectangle mr = new ManipulateurRectangle(); Class c = mr.getClass(); try { assertTrue(c.getDeclaredMethod("max", Rectangle[].class).getReturnType() == Rectangle.class); } catch (NoSuchMethodException e) { throw new TestException("*****verifiez vos signatures de methodes*****"); } catch (AssertionError e) { throw new TestException("*****la methode max doit renvoyer un rectangle*****"); } catch (NoSuchMethodError e) { throw new TestException( "*****verifiez vos signatures de methodes ou c'est que le test verfie des choses que vous n'avez pas encore programmees*****"); } catch (NoClassDefFoundError e) { throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****"); } } @Test public void testResultatMax() throws TestException { ManipulateurRectangle mr = new ManipulateurRectangle(); mr.tabRect = new Rectangle[4]; mr.tabRect[0] = new Rectangle(0, 100, 50, 60); mr.tabRect[1] = new Rectangle(0, 100, 50, 50); mr.tabRect[2] = new Rectangle(0, 50, 50, 60); mr.tabRect[3] = new Rectangle(10, 110, 60, 60); Rectangle rec = mr.max(mr.tabRect); try { assertTrue(rec == mr.tabRect[1]); } catch (AssertionError e) { throw new TestException("*****votre algorithme de calcul de max est faux*****"); } catch (NoSuchMethodError e) { throw new TestException( "*****verifiez vos signatures de methodes ou c'est que le test verfie des choses que vous n'avez pas encore programmees*****"); } catch (NoClassDefFoundError e) { throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****"); } } @Test public void testDecalerRectangle() throws TestException { ManipulateurRectangle mr = new ManipulateurRectangle(); Class c = mr.getClass(); try { assertTrue( c.getDeclaredMethod("decalerRectangles", double.class, double.class).getReturnType() == void.class); } catch (NoSuchMethodException e) { throw new TestException("*****verifiez vos signatures de methodes*****"); } catch (AssertionError e) { throw new TestException("*****la methode decalerRectangles ne doit rien renvoyer*****"); } catch (NoSuchMethodError e) { throw new TestException( "*****verifiez vos signatures de methodes ou c'est que le test verfie des choses que vous n'avez pas encore programmees*****"); } catch (NoClassDefFoundError e) { throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****"); } } @Test public void testResultatDecalerRectangle() throws TestException { ManipulateurRectangle mr = new ManipulateurRectangle(); mr.tabRect = new Rectangle[2]; mr.tabRect[0] = new Rectangle(0, 100, 50, 60); Rectangle r0 = new Rectangle(0, 100, 50, 60); mr.tabRect[1] = new Rectangle(10, 20, 50, 50); Rectangle r1 = new Rectangle(10, 20, 50, 50); mr.decalerRectangles(10, 20); try { assertTrue(mr.tabRect[0].origin.getX() == (r0.origin.getX() + 10)); assertTrue(mr.tabRect[0].corner.getX() == (r0.corner.getX() + 10)); assertTrue(mr.tabRect[0].origin.getY() == (r0.origin.getY() + 20)); assertTrue(mr.tabRect[0].corner.getY() == (r0.corner.getY() + 20)); assertTrue(mr.tabRect[1].origin.getX() == (r1.origin.getX() + 10)); assertTrue(mr.tabRect[1].corner.getX() == (r1.corner.getX() + 10)); assertTrue(mr.tabRect[1].origin.getY() == (r1.origin.getY() + 20)); assertTrue(mr.tabRect[1].corner.getY() == (r1.corner.getY() + 20)); } catch (AssertionError e) { throw new TestException("*****votre algorithme pour decaler les rectangles est faux*****"); } catch (NoSuchMethodError e) { throw new TestException( "*****verifiez vos signatures de methodes ou c'est que le test verfie des choses que vous n'avez pas encore programmees*****"); } catch (NoClassDefFoundError e) { throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****"); } } }