@@ -23,7 +23,7 @@ public function testEmptyYaml()
23
23
24
24
$ ret = ImportProblemService::parseYaml ($ yaml , $ messages , $ validationMode , PropertyAccess::createPropertyAccessor (), $ problem );
25
25
$ this ->assertTrue ($ ret );
26
- $ this ->assertEquals ('' , $ problem ->getName ());
26
+ $ this ->assertEquals ('Unknown name ' , $ problem ->getName ());
27
27
}
28
28
29
29
public function testMinimalYamlTest ()
@@ -248,4 +248,55 @@ public function testMaximalProblem() {
248
248
$ this ->assertEquals (3 , $ problem ->getMultipassLimit ());
249
249
$ this ->assertEquals ('special flags ' , $ problem ->getSpecialCompareArgs ());
250
250
}
251
+
252
+ public function testMultipleLanguages () {
253
+ $ yaml = <<<YAML
254
+ name:
255
+ de: deutsch
256
+ en: english
257
+ YAML ;
258
+ $ messages = [];
259
+ $ validationMode = 'xxx ' ;
260
+ $ problem = new Problem ();
261
+
262
+ $ ret = ImportProblemService::parseYaml ($ yaml , $ messages , $ validationMode , PropertyAccess::createPropertyAccessor (), $ problem );
263
+ $ this ->assertTrue ($ ret );
264
+ $ this ->assertEmpty ($ messages );
265
+ $ this ->assertEquals ('english ' , $ problem ->getName ());
266
+ }
267
+
268
+ public function testKattisExample ()
269
+ {
270
+ $ yaml = <<<YAML
271
+ problem_format_version: 2023-07-draft
272
+ uuid: 5ca6ba5b-36d5-4eff-8aa7-d967cbc4375e
273
+ source: Kattis
274
+ license: cc by-sa
275
+
276
+ type: interactive
277
+ name:
278
+ en: Guess the Number
279
+ sv: Gissa talet
280
+
281
+ # Override standard limits: say that the TLE solutions provided should
282
+ # be at least 4 times above the time limit in order for us to be
283
+ # happy.
284
+ limits:
285
+ time_multipliers:
286
+ time_limit_to_tle: 4
287
+ YAML ;
288
+ $ messages = [];
289
+ $ validationMode = 'xxx ' ;
290
+ $ problem = new Problem ();
291
+
292
+ $ ret = ImportProblemService::parseYaml ($ yaml , $ messages , $ validationMode , PropertyAccess::createPropertyAccessor (), $ problem );
293
+ $ this ->assertTrue ($ ret );
294
+ $ this ->assertEmpty ($ messages );
295
+ $ this ->assertEquals ('Guess the Number ' , $ problem ->getName ());
296
+ $ this ->assertEquals ('pass-fail, interactive ' , $ problem ->getTypesAsString ());
297
+ $ this ->assertEquals ('default ' , $ validationMode );
298
+ $ this ->assertEquals (0 , $ problem ->getTimelimit ());
299
+ $ this ->assertEquals (null , $ problem ->getMemlimit ());
300
+ $ this ->assertEquals (null , $ problem ->getOutputlimit ());
301
+ }
251
302
}
0 commit comments