Coverage for ug2report1.py : 9%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1# from unitgrade.unitgrade import QuestionGroup, Report, QPrintItem
2# from unitgrade.unitgrade_helpers import evaluate_report_student
4from cs202courseware import homework1
5import unittest
7from unitgrade2.unitgrade2 import wrapper, UTestCase, cache
8from unittest import TestCase
9# from unitgrade2.unitgrade2 import cache
10from unitgrade2.unitgrade2 import methodsWithDecorator, hide
12import random
13from cs202courseware.homework1 import reverse_list, my_sum
15class TestPartial(TestCase):
16 def test_a(self):
17 self.assertEqual(2,2)
19 def test_b(self):
20 """ Question b """
21 import numpy as np
22 a = np.asarray(31)
23 z = a * 23
24 self.assertEqual(2,3)
26 def test_c(self):
27 self.assertEqual(2,2)
29 # def test_d(self):
30 # self.assertEqual(2,2)
34class GeneratorQuestion(UTestCase):
35 def genTest(self, n):
36 seq = [random.randint(1, 100000) for _ in range(n)]
37 return my_sum(seq)
39 @hide
40 def test_sum(self):
41 random.seed(42)
42 self.assertEqualC(my_sum([1,1]))
43 self.assertEqualC(my_sum([7, 2, 4, -3, 1, 1, 5, 4]))
44 self.assertEqualC(self.genTest(10))
45 self.assertEqualC(my_sum([1]))
46 self.assertEqualC(my_sum([-5]))
47 for s in [4]: # [5, 100, 1000, 10000, 100000, 500000]:
48 self.assertEqualC(self.genTest(s))
51class ListQuestion(UTestCase):
52 """ Docstring at top """
53 @classmethod
54 def setUpClass(cls) -> None:
55 z = 23424
56 # print(" calling setUpClass()...")
57 pass
59 def test_integers(self):
60 """ aa test_integers-short """
61 self.__class__.a = "fun1"
62 from cs101courseware_example.homework1 import reverse_list
63 self.assertEqual(reverse_list([1, 2, 3]), [3, 2, 1])
64 self.assertEqualC(reverse_list([1,2,3]))
65 self.assertEqualC(reverse_list(["23", "asdfsadf"]))
66 return dict(title="test integers...")
68 @cache
69 def my_funny_computation(self, a):
70 return a*2
72 def test_strings(self):
73 """ xxxxtest_integers-short """
74 # import time
75 # time.sleep(1.1)
76 a = self.my_funny_computation(2)
78 from cs101courseware_example.homework1 import reverse_list
79 l = ["hello", "world", "summer", "dog"]
80 self.assertEqual(reverse_list(l), list(reversed(l)))
82 def test_more_integerrs(self):
83 """ ccc test_integers-short """
84 self.assertEqual(2,2)
86from unitgrade2.unitgrade2 import Report
88class Report1(Report):
89 title = "CS 202 Report 1"
90 questions = [
91 # (GeneratorQuestion, 10),
92 # (ListQuestion, 5),
93 (TestPartial,100),
94 ]
96 import cs202courseware
97 pack_imports = [cs202courseware] # Include this file in .token file
98 a = 234
100import coverage
102if __name__ == "__main__":
103 """
104 Capture output in TestCase
106 HTML test runner:
107 https://awesomeopensource.com/project/oldani/HtmlTestRunner
109 """
110 # import inspect
111 # ls = list(methodsWithDecorator(GeneratorQuestion, hide))
112 # for f in ls:
113 # print(inspect.getsourcelines(f) ) # How to get all hidden questions.
116 from unitgrade2.unitgrade_helpers2 import evaluate_report_student
117 cov = coverage.Coverage()
118 cov.start()
120 evaluate_report_student( Report1() )
121 # unittest.main(verbosity=2)
122 cov.stop()
123 cov.html_report()
124 z = 234
125 # deploy the report
126 # from unitgrade_private2.hidden_create_files import setup_grade_file_report
127 # setup_grade_file_report(Report1, minify=False, obfuscate=False, execute=False)