diff options
Diffstat (limited to 'yaksh/models.py')
-rw-r--r-- | yaksh/models.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/yaksh/models.py b/yaksh/models.py index 35999d3..2bf4a85 100644 --- a/yaksh/models.py +++ b/yaksh/models.py @@ -317,17 +317,14 @@ class Question(models.Model): def get_test_cases(self, **kwargs): tc_list = [] - for tc in self.testcase_set.all(): - test_case_type = tc.type + for tc in self.testcase_set.values_list("type", flat=True).distinct(): test_case_ctype = ContentType.objects.get(app_label="yaksh", - model=test_case_type - ) - test_case = test_case_ctype.get_object_for_this_type( + model=tc) + test_case = test_case_ctype.get_all_objects_for_this_type( question=self, **kwargs ) - tc_list.append(test_case) - + tc_list.extend(test_case) return tc_list def get_test_case(self, **kwargs): @@ -1154,19 +1151,22 @@ class TestCase(models.Model): class StandardTestCase(TestCase): test_case = models.TextField() weight = models.FloatField(default=1.0) + test_case_args = models.TextField(help_text="<b>Command Line arguments for bash only</b>", + blank=True) def get_field_value(self): return {"test_case_type": "standardtestcase", "test_case": self.test_case, - "weight": self.weight} + "weight": self.weight, + "test_case_args": self.test_case_args} def __str__(self): return u'Standard TestCase | Test Case: {0}'.format(self.test_case) class StdIOBasedTestCase(TestCase): - expected_input = models.CharField(max_length=100, blank=True) - expected_output = models.CharField(max_length=100) + expected_input = models.TextField(max_length=100, blank=True) + expected_output = models.TextField(max_length=100) weight = models.IntegerField(default=1.0) def get_field_value(self): |