270
by dilshan_a
Initial check in for test framework, and example problems |
1 |
<problem name = "Test all IO"> |
313
by mattgiuca
test/test_framework: Updated examples, a bit of better descriptions, sample |
2 |
<desc>Write a program which does the following:
|
3 |
<ol>
|
|
4 |
<li>Gets the value of a variable "foo" and prints it to stdout.</li> |
|
5 |
<li>Gets the contents of a file "input.txt" and prints it to stdout.
|
|
6 |
</li>
|
|
7 |
<li>Gets the contents of stdin and writes it to a file "output.txt".
|
|
8 |
</li>
|
|
9 |
</ol>
|
|
10 |
</desc>
|
|
270
by dilshan_a
Initial check in for test framework, and example problems |
11 |
<include>
|
12 |
<!-- Here you can place any Python functions to use for normalisation.
|
|
13 |
Note: "id" will be in our standard test functions lib.
|
|
14 |
-->
|
|
15 |
<![CDATA[
|
|
16 |
def id(x):
|
|
17 |
return x
|
|
18 |
]]>
|
|
19 |
</include>
|
|
20 |
<solution>
|
|
21 |
<![CDATA[
|
|
22 |
# Sample solution, used to generate test output
|
|
23 |
input1 = raw_input()
|
|
24 |
input2 = file('input.txt').read()
|
|
25 |
input3 = foo
|
|
26 |
||
27 |
print input3
|
|
28 |
||
29 |
print input2
|
|
30 |
||
31 |
f = file('output.txt','w')
|
|
32 |
f.write(input1)
|
|
33 |
f.close()
|
|
34 |
]]>
|
|
35 |
</solution>
|
|
36 |
<!-- Alternatively, <solution src="all_input_test_soln.py" /> -->
|
|
313
by mattgiuca
test/test_framework: Updated examples, a bit of better descriptions, sample |
37 |
<case name="All Tests"> |
270
by dilshan_a
Initial check in for test framework, and example problems |
38 |
<!-- Specify input -->
|
39 |
<stdin>This is Standard Input</stdin> |
|
40 |
<file name='input.txt'> |
|
41 |
File Input |
|
42 |
</file>
|
|
43 |
<var name="foo" value="'Variable Input'" /> |
|
44 |
||
45 |
<!-- Functions test varying levels of compliance with the spec -->
|
|
46 |
<!-- 'default="match"' means exactly match any unlisted files.
|
|
47 |
(The default behaviour)
|
|
48 |
'default="ignore"' means ignore any unlisted files.
|
|
49 |
-->
|
|
50 |
<!-- Match stdout case insensitive, output.txt match exactly,
|
|
51 |
and ignore other files. -->
|
|
52 |
<function desc="Match case insensitive and ignore other files" |
|
53 |
default="ignore"> |
|
313
by mattgiuca
test/test_framework: Updated examples, a bit of better descriptions, sample |
54 |
<stdout>str.lower</stdout> |
270
by dilshan_a
Initial check in for test framework, and example problems |
55 |
<!-- 'type="norm"' treats the function as a normalisation
|
56 |
function (the default behaviour).
|
|
57 |
'type="check"' treats it as a 2-argument check. -->
|
|
58 |
<file name="output.txt" type="norm">str.lower</file> |
|
59 |
</function>
|
|
60 |
<function desc="Match expected files" default="ignore"> |
|
61 |
<stdout/>
|
|
62 |
<file name="output.txt"/> |
|
63 |
</function>
|
|
64 |
<!-- Match all files exactly, even those not listed. -->
|
|
65 |
<function desc="Match output, no unexpected files allowed" /> |
|
66 |
</case>
|
|
67 |
</problem>
|