diff options
author | Timotej Lazar <timotej.lazar@araneo.org> | 2015-09-22 12:03:57 +0200 |
---|---|---|
committer | Timotej Lazar <timotej.lazar@araneo.org> | 2015-09-22 12:03:57 +0200 |
commit | 5a6237fc92fc57f87fe3f11144e4ade5baa96350 (patch) | |
tree | b251950bc601780ff30d7097711fcdfa014420b0 /prolog | |
parent | 0d45ae47238808ac4659a81c7dc94aba88c810f5 (diff) |
Update test functions for existing problems
The test function is now expected to return a boolean indicating whether
the program is correct and a list of hint objects.
Diffstat (limited to 'prolog')
-rw-r--r-- | prolog/common.py | 1 | ||||
-rw-r--r-- | prolog/problems/family_relations/brother_2/common.py | 4 | ||||
-rw-r--r-- | prolog/problems/family_relations/father_2/common.py | 4 | ||||
-rw-r--r-- | prolog/problems/family_relations/mother_2/common.py | 4 | ||||
-rw-r--r-- | prolog/problems/family_relations/sister_2/common.py | 4 | ||||
-rw-r--r-- | prolog/sl.py | 4 |
6 files changed, 17 insertions, 4 deletions
diff --git a/prolog/common.py b/prolog/common.py index 41377bb..8dca4dd 100644 --- a/prolog/common.py +++ b/prolog/common.py @@ -6,6 +6,7 @@ from server.hints import Hint, HintSequence hint_type = { 'no_hint': HintSequence('no_hint', 4), + 'system_error': Hint('system_error'), 'test_results': Hint('test_results'), 'syntax_error': Hint('syntax_error'), } diff --git a/prolog/problems/family_relations/brother_2/common.py b/prolog/problems/family_relations/brother_2/common.py index 13f7ab5..4241524 100644 --- a/prolog/problems/family_relations/brother_2/common.py +++ b/prolog/problems/family_relations/brother_2/common.py @@ -58,7 +58,9 @@ def test(program, solved_problems): if engine_id: prolog.engine.destroy(engine_id) - return n_correct, len(test_cases) + passed = n_correct == len(test_in) + hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_in)}}] + return passed, hints def hint(program, solved_problems): # tokens = prolog.util.tokenize(program) diff --git a/prolog/problems/family_relations/father_2/common.py b/prolog/problems/family_relations/father_2/common.py index 1342441..6e752c3 100644 --- a/prolog/problems/family_relations/father_2/common.py +++ b/prolog/problems/family_relations/father_2/common.py @@ -53,7 +53,9 @@ def test(program, solved_problems): if engine_id: prolog.engine.destroy(engine_id) - return n_correct, len(test_cases) + passed = n_correct == len(test_in) + hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_in)}}] + return passed, hints def hint(program, solved_problems): tokens = prolog.util.tokenize(program) diff --git a/prolog/problems/family_relations/mother_2/common.py b/prolog/problems/family_relations/mother_2/common.py index 4d198d4..e90671b 100644 --- a/prolog/problems/family_relations/mother_2/common.py +++ b/prolog/problems/family_relations/mother_2/common.py @@ -64,7 +64,9 @@ def test(program, solved_problems): if engine_id: prolog.engine.destroy(engine_id) - return n_correct, len(test_cases) + passed = n_correct == len(test_in) + hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_in)}}] + return passed, hints def hint(program, solved_problems): tokens = prolog.util.tokenize(program) diff --git a/prolog/problems/family_relations/sister_2/common.py b/prolog/problems/family_relations/sister_2/common.py index 1ae652a..780e2bd 100644 --- a/prolog/problems/family_relations/sister_2/common.py +++ b/prolog/problems/family_relations/sister_2/common.py @@ -61,7 +61,9 @@ def test(program, solved_problems): if engine_id: prolog.engine.destroy(engine_id) - return n_correct, len(test_cases) + passed = n_correct == len(test_in) + hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_in)}}] + return passed, hints def hint(program, solved_problems): # how do I know which general hints were already shown? diff --git a/prolog/sl.py b/prolog/sl.py index 731eff3..b341f66 100644 --- a/prolog/sl.py +++ b/prolog/sl.py @@ -11,6 +11,10 @@ hint = { <p>Definicija norosti: poskušati isto in pričakovati drugačen rezultat.</p> '''], + 'system_error': ['''\ +<p><span style="color: red;">Sistemska napaka:</span> [%=message%].</p> +'''], + 'test_results': '''\ <p>Program je opravil [%=passed%] / [%=total%] testov.</p> ''', |