@@ -151,6 +151,140 @@ void testLabyrinth() {
151
151
u8" o o o o o o o\n " );
152
152
}
153
153
154
+ void testStack (){
155
+ // Rendre le labyrinth minimal.
156
+ const string stack_test= u8" o . → r . x" ;
157
+
158
+ auto l_stack = Labyrinth (stack_test);
159
+ use_inline_svg = false ;
160
+ ASSERTEQ ( l_stack.to_string (),
161
+ u8" o . → r . x" );
162
+ ASSERTEQ (l.html (), R"html( <table style='line-height: 0pt;'>
163
+ <tr>
164
+ <td><img src='/nbextensions/laby/wall.svg' width=32 height=32></td>
165
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
166
+ <td><img src='/nbextensions/laby/ant-e.svg' width=32 height=32></td>
167
+ <td><img src='/nbextensions/laby/rock.svg' width=32 height=32></td>
168
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
169
+ <td><img src='/nbextensions/laby/exit.svg' width=32 height=32></td>
170
+ </tr>
171
+ </table>
172
+ <pre> </pre>
173
+ )html" );
174
+ ASSERT (not l.avance ());
175
+ ASSERT ( l.prend ());
176
+ ASSERTEQ (l.html (), R"html( <table style='line-height: 0pt;'>
177
+ <tr>
178
+ <td><img src='/nbextensions/laby/wall.svg' width=32 height=32></td>
179
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
180
+ <td><div style='position: relative; left: 5px; top: 5px;'> <img src='rock.svg' width=20 height=20 class='stack' > </div>
181
+ <img src='/nbextensions/laby/ant-e.svg' width=32 height=32></td>
182
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
183
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
184
+ <td><img src='/nbextensions/laby/exit.svg' width=32 height=32></td>
185
+ </tr>
186
+ </table>
187
+ <pre></pre>
188
+ )html" );
189
+ ASSERT ( l.avance ());
190
+ ASSERTEQ (l.html (), R"html( <table style='line-height: 0pt;'>
191
+ <tr>
192
+ <td><img src='/nbextensions/laby/wall.svg' width=32 height=32></td>
193
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
194
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
195
+ <td><div style='position: relative; left: 5px; top: 5px;'> <img src='rock.svg' width=20 height=20 class='stack' > </div>
196
+ <img src='/nbextensions/laby/ant-e.svg' width=32 height=32></td>
197
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
198
+ <td><img src='/nbextensions/laby/exit.svg' width=32 height=32></td>
199
+ </tr>
200
+ </table>
201
+ <pre></pre>
202
+ )html" );
203
+ ASSERT ( l.avance ());
204
+ ASSERTEQ (l.html (), R"html( <table style='line-height: 0pt;'>
205
+ <tr>
206
+ <td><img src='/nbextensions/laby/wall.svg' width=32 height=32></td>
207
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
208
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
209
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
210
+ <td><div style='position: relative; left: 5px; top: 5px;'> <img src='rock.svg' width=20 height=20 class='stack' > </div>
211
+ <img src='/nbextensions/laby/ant-e.svg' width=32 height=32></td>
212
+ <td><img src='/nbextensions/laby/exit.svg' width=32 height=32></td>
213
+ </tr>
214
+ </table>
215
+ <pre></pre>
216
+ )html" );
217
+ ASSERT ( l.gauche ());
218
+ ASSERTEQ (l.html (), R"html( <table style='line-height: 0pt;'>
219
+ <tr>
220
+ <td><img src='/nbextensions/laby/wall.svg' width=32 height=32></td>
221
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
222
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
223
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
224
+ <td><div style='position: relative; left: 5px; top: 5px;'> <img src='rock.svg' width=20 height=20 class='stack' > </div>
225
+ <img src='/nbextensions/laby/ant-e.svg' width=32 height=32></td>
226
+ <td><img src='/nbextensions/laby/exit.svg' width=32 height=32></td>
227
+ </tr>
228
+ </table>
229
+ <pre></pre>
230
+ )html" );
231
+ ASSERT ( l.gauche ());
232
+ ASSERTEQ (l.html (), R"html( <table style='line-height: 0pt;'>
233
+ <tr>
234
+ <td><img src='/nbextensions/laby/wall.svg' width=32 height=32></td>
235
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
236
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
237
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
238
+ <td><div style='position: relative; left: 5px; top: 5px;'> <img src='rock.svg' width=20 height=20 class='stack' > </div>
239
+ <img src='/nbextensions/laby/ant-e.svg' width=32 height=32></td>
240
+ <td><img src='/nbextensions/laby/exit.svg' width=32 height=32></td>
241
+ </tr>
242
+ </table>
243
+ <pre></pre>
244
+ )html" );
245
+ ASSERT ( l.pose ());
246
+ ASSERTEQ (l.html (), R"html( <table style='line-height: 0pt;'>
247
+ <tr>
248
+ <td><img src='/nbextensions/laby/wall.svg' width=32 height=32></td>
249
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
250
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
251
+ <td><img src='/nbextensions/laby/rock.svg' width=32 height=32></td>
252
+ <td><img src='/nbextensions/laby/ant-e.svg' width=32 height=32></td>
253
+ <td><img src='/nbextensions/laby/exit.svg' width=32 height=32></td>
254
+ </tr>
255
+ </table>
256
+ <pre></pre>
257
+ )html" );
258
+ ASSERT ( l.gauche ());
259
+ ASSERTEQ (l.html (), R"html( <table style='line-height: 0pt;'>
260
+ <tr>
261
+ <td><img src='/nbextensions/laby/wall.svg' width=32 height=32></td>
262
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
263
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
264
+ <td><img src='/nbextensions/laby/rock.svg' width=32 height=32></td>
265
+ <td><img src='/nbextensions/laby/ant-e.svg' width=32 height=32></td>
266
+ <td><img src='/nbextensions/laby/exit.svg' width=32 height=32></td>
267
+ </tr>
268
+ </table>
269
+ <pre></pre>
270
+ )html" );
271
+ ASSERT ( l.gauche ());
272
+ ASSERTEQ (l.html (), R"html( <table style='line-height: 0pt;'>
273
+ <tr>
274
+ <td><img src='/nbextensions/laby/wall.svg' width=32 height=32></td>
275
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
276
+ <td><img src='/nbextensions/laby/void.svg' width=32 height=32></td>
277
+ <td><img src='/nbextensions/laby/rock.svg' width=32 height=32></td>
278
+ <td><img src='/nbextensions/laby/ant-e.svg' width=32 height=32></td>
279
+ <td><img src='/nbextensions/laby/exit.svg' width=32 height=32></td>
280
+ </tr>
281
+ </table>
282
+ <pre></pre>
283
+ )html" );
284
+ ASSERT ( l.ouvre ());
285
+ }
286
+
287
+
154
288
void testSow () {
155
289
auto l = Labyrinth (" . → w . " );
156
290
ASSERT ( l.sow () );
0 commit comments