ManipulateurRectangleTest.java 8.32 KB
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<? extends ManipulateurRectangle> 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<? extends Rectangle> 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<? extends ManipulateurRectangle> 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<? extends ManipulateurRectangle> 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<? extends ManipulateurRectangle> 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<? extends ManipulateurRectangle> 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*****");
		}
	}
}