diff options
Diffstat (limited to 'yaksh/models.py')
-rw-r--r-- | yaksh/models.py | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/yaksh/models.py b/yaksh/models.py index ca41885..ad61872 100644 --- a/yaksh/models.py +++ b/yaksh/models.py @@ -4,6 +4,7 @@ import json from random import sample, shuffle from itertools import islice, cycle from collections import Counter +from textwrap import dedent from django.db import models from django.db.models import Q from django.contrib.auth.models import User @@ -1219,5 +1220,31 @@ class McqTestCase(TestCase): class HookTestCase(TestCase): - code = models.TextField() + hook_code = models.TextField(default=dedent\ + ("""\ + def check_answer(user_answer): + ''' Evaluates user answer to return - + success - Boolean, indicating if code was executed correctly + mark_fraction - Float, indicating fraction of the + weight to a test case + error - String, error message if success is false''' + success = False + err = "Incorrect Answer" # Please make the error message more specific + mark_fraction = 0.0 + + # write your code here + + return success, err, mark_fraction + + """) + + ) weight = models.FloatField(default=1.0) + + def get_field_value(self): + return {"test_case_type": "hooktestcase", "hook_code": self.hook_code, + "weight": self.weight} + + def __str__(self): + return u'Hook Testcase | Correct: {0}'.format(self.hook_code) + |