Blame view

tp1.1_Rectangle/src/test/ManipulateurRectangleTest.java 8.32 KB
f98eb12b   Vincent Benoist   tp1Fini
1
2
3
4
5
  package test;
  
  import static org.junit.Assert.assertFalse;
  import static org.junit.Assert.assertTrue;
  
f98eb12b   Vincent Benoist   tp1Fini
6
  import org.junit.Test;
f98eb12b   Vincent Benoist   tp1Fini
7
8
9
10
11
12
  
  import rectangles.ManipulateurRectangle;
  import rectangles.Rectangle;
  
  public class ManipulateurRectangleTest {
  	/*
6948aa1a   Vincent Benoist   version f
13
14
15
16
  	 *
  	 * Tests relatifs à ManipulateurRectangle
  	 *
  	 */
f98eb12b   Vincent Benoist   tp1Fini
17
18
  	@Test
  	public void testCreerRectangle() throws TestException {
6948aa1a   Vincent Benoist   version f
19
  		ManipulateurRectangle mr = new ManipulateurRectangle();
f98eb12b   Vincent Benoist   tp1Fini
20
  		Class<? extends ManipulateurRectangle> c = mr.getClass();
6948aa1a   Vincent Benoist   version f
21
22
23
24
  
  		try {
  			assertTrue(c.getDeclaredMethod("creerRectangle").getReturnType() == Rectangle.class);
  		} catch (NoSuchMethodException e) {
f98eb12b   Vincent Benoist   tp1Fini
25
  			throw new TestException("*****verifiez vos signatures de methodes*****");
6948aa1a   Vincent Benoist   version f
26
  		} catch (AssertionError e) {
f98eb12b   Vincent Benoist   tp1Fini
27
  			throw new TestException("*****la methode creerRectangle doit renvoyer un Rectangle*****");
6948aa1a   Vincent Benoist   version f
28
29
30
31
  		} 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) {
f98eb12b   Vincent Benoist   tp1Fini
32
33
34
  			throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****");
  		}
  	}
6948aa1a   Vincent Benoist   version f
35
  
f98eb12b   Vincent Benoist   tp1Fini
36
37
  	@Test
  	public void testTypeToString() throws TestException {
6948aa1a   Vincent Benoist   version f
38
  		Rectangle rec = new Rectangle(0, 100, 50, 60);
f98eb12b   Vincent Benoist   tp1Fini
39
  		Class<? extends Rectangle> c = rec.getClass();
6948aa1a   Vincent Benoist   version f
40
41
42
43
  
  		try {
  			assertTrue(c.getDeclaredMethod("toString").getReturnType() == String.class);
  		} catch (NoSuchMethodException e) {
f98eb12b   Vincent Benoist   tp1Fini
44
  			throw new TestException("*****la methode doit s'appeler toString()*****");
6948aa1a   Vincent Benoist   version f
45
  		} catch (AssertionError e) {
f98eb12b   Vincent Benoist   tp1Fini
46
  			throw new TestException("*****la methode toString doit renvoyer un String*****");
6948aa1a   Vincent Benoist   version f
47
48
49
  		} 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*****");
f98eb12b   Vincent Benoist   tp1Fini
50
51
  		}
  	}
6948aa1a   Vincent Benoist   version f
52
  
f98eb12b   Vincent Benoist   tp1Fini
53
54
  	@Test
  	public void testTabRect() throws TestException {
6948aa1a   Vincent Benoist   version f
55
  		ManipulateurRectangle mr = new ManipulateurRectangle();
f98eb12b   Vincent Benoist   tp1Fini
56
  		Class<? extends ManipulateurRectangle> c = mr.getClass();
6948aa1a   Vincent Benoist   version f
57
58
59
60
61
62
63
  
  		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) {
f98eb12b   Vincent Benoist   tp1Fini
64
  			throw new TestException("*****la variable d'instance tabRect doit etre de type tableau de Rectangle*****");
6948aa1a   Vincent Benoist   version f
65
66
67
68
  		} 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) {
f98eb12b   Vincent Benoist   tp1Fini
69
70
71
  			throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****");
  		}
  	}
6948aa1a   Vincent Benoist   version f
72
  
f98eb12b   Vincent Benoist   tp1Fini
73
74
  	@Test
  	public void testCreerTableauRectangle() throws TestException {
6948aa1a   Vincent Benoist   version f
75
  		ManipulateurRectangle mr = new ManipulateurRectangle();
f98eb12b   Vincent Benoist   tp1Fini
76
  		Class<? extends ManipulateurRectangle> c = mr.getClass();
6948aa1a   Vincent Benoist   version f
77
78
79
80
  
  		try {
  			assertTrue(c.getDeclaredMethod("creerTableauRectangle").getReturnType() == void.class);
  		} catch (NoSuchMethodException e) {
f98eb12b   Vincent Benoist   tp1Fini
81
  			throw new TestException("*****verifiez vos signatures de methodes*****");
6948aa1a   Vincent Benoist   version f
82
  		} catch (AssertionError e) {
f98eb12b   Vincent Benoist   tp1Fini
83
  			throw new TestException("*****la methode creerTableauRectangle ne doit rien renvoyer*****");
6948aa1a   Vincent Benoist   version f
84
85
86
87
  		} 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) {
f98eb12b   Vincent Benoist   tp1Fini
88
89
90
  			throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****");
  		}
  	}
6948aa1a   Vincent Benoist   version f
91
  
f98eb12b   Vincent Benoist   tp1Fini
92
93
  	@Test
  	public void testResultatCreerTableauRectangle() throws TestException {
6948aa1a   Vincent Benoist   version f
94
  		ManipulateurRectangle mr = new ManipulateurRectangle();
f98eb12b   Vincent Benoist   tp1Fini
95
  		mr.creerTableauRectangle();
6948aa1a   Vincent Benoist   version f
96
97
98
99
  		try {
  			assertFalse(mr.tabRect.length == 0);
  			assertTrue(mr.tabRect[0].getClass() == Rectangle.class);
  		} catch (AssertionError e) {
f98eb12b   Vincent Benoist   tp1Fini
100
  			throw new TestException("*****la methode creerTableauRectangle doit creer un tableau de rectangle*****");
6948aa1a   Vincent Benoist   version f
101
102
103
104
  		} 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) {
f98eb12b   Vincent Benoist   tp1Fini
105
106
107
  			throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****");
  		}
  	}
6948aa1a   Vincent Benoist   version f
108
  
f98eb12b   Vincent Benoist   tp1Fini
109
110
  	@Test
  	public void testMax() throws TestException {
6948aa1a   Vincent Benoist   version f
111
  		ManipulateurRectangle mr = new ManipulateurRectangle();
f98eb12b   Vincent Benoist   tp1Fini
112
  		Class<? extends ManipulateurRectangle> c = mr.getClass();
6948aa1a   Vincent Benoist   version f
113
114
115
  		try {
  			assertTrue(c.getDeclaredMethod("max", Rectangle[].class).getReturnType() == Rectangle.class);
  		} catch (NoSuchMethodException e) {
f98eb12b   Vincent Benoist   tp1Fini
116
  			throw new TestException("*****verifiez vos signatures de methodes*****");
6948aa1a   Vincent Benoist   version f
117
  		} catch (AssertionError e) {
f98eb12b   Vincent Benoist   tp1Fini
118
  			throw new TestException("*****la methode max doit renvoyer un rectangle*****");
6948aa1a   Vincent Benoist   version f
119
120
121
122
  		} 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) {
f98eb12b   Vincent Benoist   tp1Fini
123
124
125
  			throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****");
  		}
  	}
6948aa1a   Vincent Benoist   version f
126
  
f98eb12b   Vincent Benoist   tp1Fini
127
128
  	@Test
  	public void testResultatMax() throws TestException {
6948aa1a   Vincent Benoist   version f
129
  		ManipulateurRectangle mr = new ManipulateurRectangle();
f98eb12b   Vincent Benoist   tp1Fini
130
  		mr.tabRect = new Rectangle[4];
6948aa1a   Vincent Benoist   version f
131
132
133
134
  		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);
f98eb12b   Vincent Benoist   tp1Fini
135
  		Rectangle rec = mr.max(mr.tabRect);
6948aa1a   Vincent Benoist   version f
136
137
138
  		try {
  			assertTrue(rec == mr.tabRect[1]);
  		} catch (AssertionError e) {
f98eb12b   Vincent Benoist   tp1Fini
139
  			throw new TestException("*****votre algorithme de calcul de max est faux*****");
6948aa1a   Vincent Benoist   version f
140
141
142
143
  		} 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) {
f98eb12b   Vincent Benoist   tp1Fini
144
145
146
  			throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****");
  		}
  	}
6948aa1a   Vincent Benoist   version f
147
  
f98eb12b   Vincent Benoist   tp1Fini
148
149
  	@Test
  	public void testDecalerRectangle() throws TestException {
6948aa1a   Vincent Benoist   version f
150
  		ManipulateurRectangle mr = new ManipulateurRectangle();
f98eb12b   Vincent Benoist   tp1Fini
151
  		Class<? extends ManipulateurRectangle> c = mr.getClass();
6948aa1a   Vincent Benoist   version f
152
153
154
155
  		try {
  			assertTrue(
  					c.getDeclaredMethod("decalerRectangles", double.class, double.class).getReturnType() == void.class);
  		} catch (NoSuchMethodException e) {
f98eb12b   Vincent Benoist   tp1Fini
156
  			throw new TestException("*****verifiez vos signatures de methodes*****");
6948aa1a   Vincent Benoist   version f
157
  		} catch (AssertionError e) {
f98eb12b   Vincent Benoist   tp1Fini
158
  			throw new TestException("*****la methode decalerRectangles ne doit rien renvoyer*****");
6948aa1a   Vincent Benoist   version f
159
160
161
162
  		} 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) {
f98eb12b   Vincent Benoist   tp1Fini
163
164
165
  			throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****");
  		}
  	}
6948aa1a   Vincent Benoist   version f
166
  
f98eb12b   Vincent Benoist   tp1Fini
167
168
  	@Test
  	public void testResultatDecalerRectangle() throws TestException {
6948aa1a   Vincent Benoist   version f
169
  		ManipulateurRectangle mr = new ManipulateurRectangle();
f98eb12b   Vincent Benoist   tp1Fini
170
  		mr.tabRect = new Rectangle[2];
6948aa1a   Vincent Benoist   version f
171
172
173
174
  		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);
f98eb12b   Vincent Benoist   tp1Fini
175
  		mr.decalerRectangles(10, 20);
6948aa1a   Vincent Benoist   version f
176
  		try {
f98eb12b   Vincent Benoist   tp1Fini
177
178
179
180
181
182
183
184
  			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));
6948aa1a   Vincent Benoist   version f
185
  		} catch (AssertionError e) {
f98eb12b   Vincent Benoist   tp1Fini
186
  			throw new TestException("*****votre algorithme pour decaler les rectangles est faux*****");
6948aa1a   Vincent Benoist   version f
187
188
189
190
  		} 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) {
f98eb12b   Vincent Benoist   tp1Fini
191
192
193
194
  			throw new TestException("*****vous n'avez pas encore cree la classe ManipulateurRectangle*****");
  		}
  	}
  }