From 22630d2ea15f9a0afc368b86046fcb647e4b6fc7 Mon Sep 17 00:00:00 2001 From: sean-morris Date: Tue, 27 Aug 2024 16:10:02 -0700 Subject: [PATCH] Otter Grade Write Indiviudal Notebook Results Tests Fixed --- test/test_grade/files/results/fails1.txt | 72 +++++++ test/test_grade/files/results/fails1H.txt | 48 +++++ .../files/results/fails1and3and6.txt | 164 ++++++++++++++ test/test_grade/files/results/fails1and4.txt | 86 ++++++++ test/test_grade/files/results/fails2.txt | 116 ++++++++++ .../files/results/fails2and3and6H.txt | 201 ++++++++++++++++++ test/test_grade/files/results/fails2and4.txt | 130 +++++++++++ test/test_grade/files/results/fails2and6H.txt | 166 +++++++++++++++ test/test_grade/files/results/fails3.txt | 48 +++++ test/test_grade/files/results/fails3and4.txt | 62 ++++++ test/test_grade/files/results/fails4.txt | 27 +++ test/test_grade/files/results/fails6.txt | 64 ++++++ test/test_grade/files/results/fails6H.txt | 63 ++++++ test/test_grade/files/results/passesAll.txt | 13 ++ test/test_grade/test_integration.py | 32 ++- 15 files changed, 1284 insertions(+), 8 deletions(-) create mode 100644 test/test_grade/files/results/fails1.txt create mode 100644 test/test_grade/files/results/fails1H.txt create mode 100644 test/test_grade/files/results/fails1and3and6.txt create mode 100644 test/test_grade/files/results/fails1and4.txt create mode 100644 test/test_grade/files/results/fails2.txt create mode 100644 test/test_grade/files/results/fails2and3and6H.txt create mode 100644 test/test_grade/files/results/fails2and4.txt create mode 100644 test/test_grade/files/results/fails2and6H.txt create mode 100644 test/test_grade/files/results/fails3.txt create mode 100644 test/test_grade/files/results/fails3and4.txt create mode 100644 test/test_grade/files/results/fails4.txt create mode 100644 test/test_grade/files/results/fails6.txt create mode 100644 test/test_grade/files/results/fails6H.txt create mode 100644 test/test_grade/files/results/passesAll.txt diff --git a/test/test_grade/files/results/fails1.txt b/test/test_grade/files/results/fails1.txt new file mode 100644 index 00000000..4e00aa7f --- /dev/null +++ b/test/test_grade/files/results/fails1.txt @@ -0,0 +1,72 @@ +q1 results: + q1 - 1 result: + ❌ Test case failed + Trying: + square(3) + Expecting: + 9 + ********************************************************************** + Line 2, in q1 0 + Failed example: + square(3) + Expected: + 9 + Got: + 27 + + q1 - 2 result: + ❌ Test case failed + Trying: + square(2.5) + Expecting: + 6.25 + ********************************************************************** + Line 2, in q1 1 + Failed example: + square(2.5) + Expected: + 6.25 + Got: + 15.625 + + q1 - 3 result: + ❌ Test case failed + Trying: + square(6) + Expecting: + 36 + ********************************************************************** + Line 2, in q1 2 + Failed example: + square(6) + Expected: + 36 + Got: + 216 + + q1 - 4 result: + ❌ Test case failed + Trying: + square(1.5) + Expecting: + 2.25 + ********************************************************************** + Line 2, in q1 3 + Failed example: + square(1.5) + Expected: + 2.25 + Got: + 3.375 + +q2b results: All test cases passed! + +q2 results: All test cases passed! + +q3 results: All test cases passed! + +q4 results: All test cases passed! + +q6 results: All test cases passed! + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails1H.txt b/test/test_grade/files/results/fails1H.txt new file mode 100644 index 00000000..90799964 --- /dev/null +++ b/test/test_grade/files/results/fails1H.txt @@ -0,0 +1,48 @@ +q1 results: + q1 - 1 result: + ✅ Test case passed + + q1 - 2 result: + ✅ Test case passed + + q1 - 3 result: + ❌ Test case failed + Trying: + square(6) + Expecting: + 36 + ********************************************************************** + Line 2, in q1 2 + Failed example: + square(6) + Expected: + 36 + Got: + 216 + + q1 - 4 result: + ❌ Test case failed + Trying: + square(1.5) + Expecting: + 2.25 + ********************************************************************** + Line 2, in q1 3 + Failed example: + square(1.5) + Expected: + 2.25 + Got: + 3.375 + +q2b results: All test cases passed! + +q2 results: All test cases passed! + +q3 results: All test cases passed! + +q4 results: All test cases passed! + +q6 results: All test cases passed! + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails1and3and6.txt b/test/test_grade/files/results/fails1and3and6.txt new file mode 100644 index 00000000..1ca70df7 --- /dev/null +++ b/test/test_grade/files/results/fails1and3and6.txt @@ -0,0 +1,164 @@ +q1 results: + q1 - 1 result: + ❌ Test case failed + Trying: + square(3) + Expecting: + 9 + ********************************************************************** + Line 2, in q1 0 + Failed example: + square(3) + Expected: + 9 + Got: + 243 + + q1 - 2 result: + ❌ Test case failed + Trying: + square(2.5) + Expecting: + 6.25 + ********************************************************************** + Line 2, in q1 1 + Failed example: + square(2.5) + Expected: + 6.25 + Got: + 97.65625 + + q1 - 3 result: + ❌ Test case failed + Trying: + square(6) + Expecting: + 36 + ********************************************************************** + Line 2, in q1 2 + Failed example: + square(6) + Expected: + 36 + Got: + 7776 + + q1 - 4 result: + ❌ Test case failed + Trying: + square(1.5) + Expecting: + 2.25 + ********************************************************************** + Line 2, in q1 3 + Failed example: + square(1.5) + Expected: + 2.25 + Got: + 7.59375 + +q2b results: All test cases passed! + +q2 results: All test cases passed! + +q3 results: + q3 - 1 result: + ❌ Test case failed + Trying: + x + Expecting: + True + ********************************************************************** + Line 2, in q3 0 + Failed example: + x + Exception raised: + Traceback (most recent call last): + File "/root/mambaforge/envs/otter-env/lib/python3.9/doctest.py", line 1334, in __run + exec(compile(example.source, filename, "single", + File "", line 1, in + x + NameError: name 'x' is not defined + + q3 - 2 result: + ❌ Test case failed + Trying: + if x: + print("yep") + else: + print("nope") + Expecting: + yep + ********************************************************************** + Line 2, in q3 1 + Failed example: + if x: + print("yep") + else: + print("nope") + Exception raised: + Traceback (most recent call last): + File "/root/mambaforge/envs/otter-env/lib/python3.9/doctest.py", line 1334, in __run + exec(compile(example.source, filename, "single", + File "", line 1, in + if x: + NameError: name 'x' is not defined + +q4 results: All test cases passed! + +q6 results: + q6 - 1 result: + ❌ Test case failed + Trying: + fib = fiberator() + Expecting nothing + ok + Trying: + next(fib) == 0 and next(fib) == 1 + Expecting: + True + ********************************************************************** + Line 3, in q6 0 + Failed example: + next(fib) == 0 and next(fib) == 1 + Expected: + True + Got: + False + + q6 - 2 result: + ❌ Test case failed + Trying: + fib = fiberator() + Expecting nothing + ok + Trying: + for _ in range(10): + print(next(fib)) + Expecting: + 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + ********************************************************************** + Line 3, in q6 1 + Failed example: + for _ in range(10): + print(next(fib)) + Exception raised: + Traceback (most recent call last): + File "/root/mambaforge/envs/otter-env/lib/python3.9/doctest.py", line 1334, in __run + exec(compile(example.source, filename, "single", + File "", line 2, in + print(next(fib)) + StopIteration + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails1and4.txt b/test/test_grade/files/results/fails1and4.txt new file mode 100644 index 00000000..1959bbe8 --- /dev/null +++ b/test/test_grade/files/results/fails1and4.txt @@ -0,0 +1,86 @@ +q1 results: + q1 - 1 result: + ❌ Test case failed + Trying: + square(3) + Expecting: + 9 + ********************************************************************** + Line 2, in q1 0 + Failed example: + square(3) + Expected: + 9 + Got: + 27 + + q1 - 2 result: + ❌ Test case failed + Trying: + square(2.5) + Expecting: + 6.25 + ********************************************************************** + Line 2, in q1 1 + Failed example: + square(2.5) + Expected: + 6.25 + Got: + 15.625 + + q1 - 3 result: + ❌ Test case failed + Trying: + square(6) + Expecting: + 36 + ********************************************************************** + Line 2, in q1 2 + Failed example: + square(6) + Expected: + 36 + Got: + 216 + + q1 - 4 result: + ❌ Test case failed + Trying: + square(1.5) + Expecting: + 2.25 + ********************************************************************** + Line 2, in q1 3 + Failed example: + square(1.5) + Expected: + 2.25 + Got: + 3.375 + +q2b results: All test cases passed! + +q2 results: All test cases passed! + +q3 results: All test cases passed! + +q4 results: + q4 - 1 result: + ❌ Test case failed + Trying: + np.isclose(x, 39.0625) + Expecting: + np.True_ + ********************************************************************** + Line 2, in q4 0 + Failed example: + np.isclose(x, 39.0625) + Expected: + np.True_ + Got: + np.False_ + +q6 results: All test cases passed! + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails2.txt b/test/test_grade/files/results/fails2.txt new file mode 100644 index 00000000..4c31d970 --- /dev/null +++ b/test/test_grade/files/results/fails2.txt @@ -0,0 +1,116 @@ +q1 results: All test cases passed! + +q2b results: + q2b - 1 result: + ❌ Test case failed + Trying: + negate([]) + Expecting: + True + ********************************************************************** + Line 2, in q2b 0 + Failed example: + negate([]) + Expected: + True + Got: + [] + + q2b - 2 result: + ❌ Test case failed + Trying: + negate({}) + Expecting: + True + ********************************************************************** + Line 2, in q2b 1 + Failed example: + negate({}) + Expected: + True + Got: + {} + + q2b - 3 result: + ❌ Test case failed + Trying: + negate([1]) + Expecting: + False + ********************************************************************** + Line 2, in q2b 2 + Failed example: + negate([1]) + Expected: + False + Got: + [1] + +q2 results: + q2 - 1 result: + ❌ Test case failed + Trying: + negate(True) + Expecting: + False + ********************************************************************** + Line 2, in q2 0 + Failed example: + negate(True) + Expected: + False + Got: + True + + q2 - 2 result: + ❌ Test case failed + Trying: + negate(False) + Expecting: + True + ********************************************************************** + Line 2, in q2 1 + Failed example: + negate(False) + Expected: + True + Got: + False + + q2 - 3 result: + ❌ Test case failed + Trying: + negate("") + Expecting: + True + ********************************************************************** + Line 2, in q2 2 + Failed example: + negate("") + Expected: + True + Got: + '' + + q2 - 4 result: + ❌ Test case failed + Trying: + negate(1) + Expecting: + False + ********************************************************************** + Line 2, in q2 3 + Failed example: + negate(1) + Expected: + False + Got: + 1 + +q3 results: All test cases passed! + +q4 results: All test cases passed! + +q6 results: All test cases passed! + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails2and3and6H.txt b/test/test_grade/files/results/fails2and3and6H.txt new file mode 100644 index 00000000..d8304809 --- /dev/null +++ b/test/test_grade/files/results/fails2and3and6H.txt @@ -0,0 +1,201 @@ +q1 results: All test cases passed! + +q2b results: + q2b - 1 result: + ❌ Test case failed + Trying: + negate([]) + Expecting: + True + ********************************************************************** + Line 2, in q2b 0 + Failed example: + negate([]) + Expected: + True + Got: + False + + q2b - 2 result: + ❌ Test case failed + Trying: + negate({}) + Expecting: + True + ********************************************************************** + Line 2, in q2b 1 + Failed example: + negate({}) + Expected: + True + Got: + False + + q2b - 3 result: + ❌ Test case failed + Trying: + negate([1]) + Expecting: + False + ********************************************************************** + Line 2, in q2b 2 + Failed example: + negate([1]) + Expected: + False + Got: + True + +q2 results: + q2 - 1 result: + ❌ Test case failed + Trying: + negate(True) + Expecting: + False + ********************************************************************** + Line 2, in q2 0 + Failed example: + negate(True) + Expected: + False + Got: + True + + q2 - 2 result: + ❌ Test case failed + Trying: + negate(False) + Expecting: + True + ********************************************************************** + Line 2, in q2 1 + Failed example: + negate(False) + Expected: + True + Got: + False + + q2 - 3 result: + ❌ Test case failed + Trying: + negate("") + Expecting: + True + ********************************************************************** + Line 2, in q2 2 + Failed example: + negate("") + Expected: + True + Got: + False + + q2 - 4 result: + ❌ Test case failed + Trying: + negate(1) + Expecting: + False + ********************************************************************** + Line 2, in q2 3 + Failed example: + negate(1) + Expected: + False + Got: + True + +q3 results: + q3 - 1 result: + ❌ Test case failed + Trying: + x + Expecting: + True + ********************************************************************** + Line 2, in q3 0 + Failed example: + x + Expected: + True + Got: + False + + q3 - 2 result: + ❌ Test case failed + Trying: + if x: + print("yep") + else: + print("nope") + Expecting: + yep + ********************************************************************** + Line 2, in q3 1 + Failed example: + if x: + print("yep") + else: + print("nope") + Expected: + yep + Got: + nope + +q4 results: All test cases passed! + +q6 results: + q6 - 1 result: + ✅ Test case passed + + q6 - 2 result: + ❌ Test case failed + Trying: + fib = fiberator() + Expecting nothing + ok + Trying: + for _ in range(10): + print(next(fib)) + Expecting: + 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + ********************************************************************** + Line 3, in q6 1 + Failed example: + for _ in range(10): + print(next(fib)) + Expected: + 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + Got: + 0 + 1 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails2and4.txt b/test/test_grade/files/results/fails2and4.txt new file mode 100644 index 00000000..5a40db41 --- /dev/null +++ b/test/test_grade/files/results/fails2and4.txt @@ -0,0 +1,130 @@ +q1 results: All test cases passed! + +q2b results: + q2b - 1 result: + ❌ Test case failed + Trying: + negate([]) + Expecting: + True + ********************************************************************** + Line 2, in q2b 0 + Failed example: + negate([]) + Expected: + True + Got: + False + + q2b - 2 result: + ❌ Test case failed + Trying: + negate({}) + Expecting: + True + ********************************************************************** + Line 2, in q2b 1 + Failed example: + negate({}) + Expected: + True + Got: + False + + q2b - 3 result: + ❌ Test case failed + Trying: + negate([1]) + Expecting: + False + ********************************************************************** + Line 2, in q2b 2 + Failed example: + negate([1]) + Expected: + False + Got: + True + +q2 results: + q2 - 1 result: + ❌ Test case failed + Trying: + negate(True) + Expecting: + False + ********************************************************************** + Line 2, in q2 0 + Failed example: + negate(True) + Expected: + False + Got: + True + + q2 - 2 result: + ❌ Test case failed + Trying: + negate(False) + Expecting: + True + ********************************************************************** + Line 2, in q2 1 + Failed example: + negate(False) + Expected: + True + Got: + False + + q2 - 3 result: + ❌ Test case failed + Trying: + negate("") + Expecting: + True + ********************************************************************** + Line 2, in q2 2 + Failed example: + negate("") + Expected: + True + Got: + False + + q2 - 4 result: + ❌ Test case failed + Trying: + negate(1) + Expecting: + False + ********************************************************************** + Line 2, in q2 3 + Failed example: + negate(1) + Expected: + False + Got: + True + +q3 results: All test cases passed! + +q4 results: + q4 - 1 result: + ❌ Test case failed + Trying: + np.isclose(x, 39.0625) + Expecting: + np.True_ + ********************************************************************** + Line 2, in q4 0 + Failed example: + np.isclose(x, 39.0625) + Expected: + np.True_ + Got: + np.False_ + +q6 results: All test cases passed! + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails2and6H.txt b/test/test_grade/files/results/fails2and6H.txt new file mode 100644 index 00000000..c5a01b53 --- /dev/null +++ b/test/test_grade/files/results/fails2and6H.txt @@ -0,0 +1,166 @@ +q1 results: All test cases passed! + +q2b results: + q2b - 1 result: + ❌ Test case failed + Trying: + negate([]) + Expecting: + True + ********************************************************************** + Line 2, in q2b 0 + Failed example: + negate([]) + Expected: + True + Got: + [] + + q2b - 2 result: + ❌ Test case failed + Trying: + negate({}) + Expecting: + True + ********************************************************************** + Line 2, in q2b 1 + Failed example: + negate({}) + Expected: + True + Got: + {} + + q2b - 3 result: + ❌ Test case failed + Trying: + negate([1]) + Expecting: + False + ********************************************************************** + Line 2, in q2b 2 + Failed example: + negate([1]) + Expected: + False + Got: + [1] + +q2 results: + q2 - 1 result: + ❌ Test case failed + Trying: + negate(True) + Expecting: + False + ********************************************************************** + Line 2, in q2 0 + Failed example: + negate(True) + Expected: + False + Got: + True + + q2 - 2 result: + ❌ Test case failed + Trying: + negate(False) + Expecting: + True + ********************************************************************** + Line 2, in q2 1 + Failed example: + negate(False) + Expected: + True + Got: + False + + q2 - 3 result: + ❌ Test case failed + Trying: + negate("") + Expecting: + True + ********************************************************************** + Line 2, in q2 2 + Failed example: + negate("") + Expected: + True + Got: + '' + + q2 - 4 result: + ❌ Test case failed + Trying: + negate(1) + Expecting: + False + ********************************************************************** + Line 2, in q2 3 + Failed example: + negate(1) + Expected: + False + Got: + 1 + +q3 results: All test cases passed! + +q4 results: All test cases passed! + +q6 results: + q6 - 1 result: + ✅ Test case passed + + q6 - 2 result: + ❌ Test case failed + Trying: + fib = fiberator() + Expecting nothing + ok + Trying: + for _ in range(10): + print(next(fib)) + Expecting: + 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + ********************************************************************** + Line 3, in q6 1 + Failed example: + for _ in range(10): + print(next(fib)) + Expected: + 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + Got: + 0 + 1 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails3.txt b/test/test_grade/files/results/fails3.txt new file mode 100644 index 00000000..e8873104 --- /dev/null +++ b/test/test_grade/files/results/fails3.txt @@ -0,0 +1,48 @@ +q1 results: All test cases passed! + +q2b results: All test cases passed! + +q2 results: All test cases passed! + +q3 results: + q3 - 1 result: + ❌ Test case failed + Trying: + x + Expecting: + True + ********************************************************************** + Line 2, in q3 0 + Failed example: + x + Expected: + True + Got: + False + + q3 - 2 result: + ❌ Test case failed + Trying: + if x: + print("yep") + else: + print("nope") + Expecting: + yep + ********************************************************************** + Line 2, in q3 1 + Failed example: + if x: + print("yep") + else: + print("nope") + Expected: + yep + Got: + nope + +q4 results: All test cases passed! + +q6 results: All test cases passed! + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails3and4.txt b/test/test_grade/files/results/fails3and4.txt new file mode 100644 index 00000000..d6eb8295 --- /dev/null +++ b/test/test_grade/files/results/fails3and4.txt @@ -0,0 +1,62 @@ +q1 results: All test cases passed! + +q2b results: All test cases passed! + +q2 results: All test cases passed! + +q3 results: + q3 - 1 result: + ❌ Test case failed + Trying: + x + Expecting: + True + ********************************************************************** + Line 2, in q3 0 + Failed example: + x + Expected: + True + Got: + False + + q3 - 2 result: + ❌ Test case failed + Trying: + if x: + print("yep") + else: + print("nope") + Expecting: + yep + ********************************************************************** + Line 2, in q3 1 + Failed example: + if x: + print("yep") + else: + print("nope") + Expected: + yep + Got: + nope + +q4 results: + q4 - 1 result: + ❌ Test case failed + Trying: + np.isclose(x, 39.0625) + Expecting: + np.True_ + ********************************************************************** + Line 2, in q4 0 + Failed example: + np.isclose(x, 39.0625) + Expected: + np.True_ + Got: + np.False_ + +q6 results: All test cases passed! + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails4.txt b/test/test_grade/files/results/fails4.txt new file mode 100644 index 00000000..7e529a8b --- /dev/null +++ b/test/test_grade/files/results/fails4.txt @@ -0,0 +1,27 @@ +q1 results: All test cases passed! + +q2b results: All test cases passed! + +q2 results: All test cases passed! + +q3 results: All test cases passed! + +q4 results: + q4 - 1 result: + ❌ Test case failed + Trying: + np.isclose(x, 39.0625) + Expecting: + np.True_ + ********************************************************************** + Line 2, in q4 0 + Failed example: + np.isclose(x, 39.0625) + Expected: + np.True_ + Got: + np.False_ + +q6 results: All test cases passed! + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails6.txt b/test/test_grade/files/results/fails6.txt new file mode 100644 index 00000000..c1f12759 --- /dev/null +++ b/test/test_grade/files/results/fails6.txt @@ -0,0 +1,64 @@ +q1 results: All test cases passed! + +q2b results: All test cases passed! + +q2 results: All test cases passed! + +q3 results: All test cases passed! + +q4 results: All test cases passed! + +q6 results: + q6 - 1 result: + ❌ Test case failed + Trying: + fib = fiberator() + Expecting nothing + ok + Trying: + next(fib) == 0 and next(fib) == 1 + Expecting: + True + ********************************************************************** + Line 3, in q6 0 + Failed example: + next(fib) == 0 and next(fib) == 1 + Expected: + True + Got: + False + + q6 - 2 result: + ❌ Test case failed + Trying: + fib = fiberator() + Expecting nothing + ok + Trying: + for _ in range(10): + print(next(fib)) + Expecting: + 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + ********************************************************************** + Line 3, in q6 1 + Failed example: + for _ in range(10): + print(next(fib)) + Exception raised: + Traceback (most recent call last): + File "/root/mambaforge/envs/otter-env/lib/python3.9/doctest.py", line 1334, in __run + exec(compile(example.source, filename, "single", + File "", line 2, in + print(next(fib)) + StopIteration + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/fails6H.txt b/test/test_grade/files/results/fails6H.txt new file mode 100644 index 00000000..bc9ae463 --- /dev/null +++ b/test/test_grade/files/results/fails6H.txt @@ -0,0 +1,63 @@ +q1 results: All test cases passed! + +q2b results: All test cases passed! + +q2 results: All test cases passed! + +q3 results: All test cases passed! + +q4 results: All test cases passed! + +q6 results: + q6 - 1 result: + ✅ Test case passed + + q6 - 2 result: + ❌ Test case failed + Trying: + fib = fiberator() + Expecting nothing + ok + Trying: + for _ in range(10): + print(next(fib)) + Expecting: + 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + ********************************************************************** + Line 3, in q6 1 + Failed example: + for _ in range(10): + print(next(fib)) + Expected: + 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + Got: + 0 + 1 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/files/results/passesAll.txt b/test/test_grade/files/results/passesAll.txt new file mode 100644 index 00000000..d42468fb --- /dev/null +++ b/test/test_grade/files/results/passesAll.txt @@ -0,0 +1,13 @@ +q1 results: All test cases passed! + +q2b results: All test cases passed! + +q2 results: All test cases passed! + +q3 results: All test cases passed! + +q4 results: All test cases passed! + +q6 results: All test cases passed! + +q7 results: All test cases passed! \ No newline at end of file diff --git a/test/test_grade/test_integration.py b/test/test_grade/test_integration.py index 88e599ef..8877aacd 100644 --- a/test/test_grade/test_integration.py +++ b/test/test_grade/test_integration.py @@ -366,22 +366,38 @@ def test_config_overrides_integration(): assert got.equals(want) -@pytest.mark.slow -@pytest.mark.docker -def test_grade_summaries(): +@mock.patch("otter.grade.launch_containers") +def test_grade_summaries(mocked_launch_grade): """ Checks that are grading summaries are written to the disck """ + mock_dfs = [] + for filename in os.listdir(FILE_MANAGER.get_path("results")): + filename = os.path.splitext(filename)[0] + test_file_path = os.path.join("test/test_grade/files/results", f"{filename}.txt") + with open(test_file_path, 'r') as test_summary_file: + mock_dfs.append(pd.DataFrame([{ + "percent_correct": 1.0, + "total_points_earned": 15.0, + "file": f"{filename}", + "summary": test_summary_file.read(), + "grading_status": "Completed" + }])) + mocked_launch_grade.return_value = mock_dfs + + notebook_path = FILE_MANAGER.get_path("notebooks") grade( name = ASSIGNMENT_NAME, - paths = [FILE_MANAGER.get_path("notebooks")], + paths = [notebook_path], output_dir = "test/", autograder = AG_ZIP_PATH, summaries = True ) - for filename in os.listdir(FILE_MANAGER.get_path("notebooks")): - file_path = os.path.join("test/grading-summaries", filename) + for filename in os.listdir(notebook_path): + filename = os.path.splitext(filename)[0] + file_path = os.path.join("test/grading-summaries", f"{filename}.txt") + test_file_path = os.path.join("test/test_grade/files/results", f"{filename}.txt") if os.path.isfile(file_path): assert os.path.exists(file_path) - with open(file_path, 'r') as file: - assert file.read() + with open(file_path, 'r') as summary_file, open(test_file_path, 'r') as test_summary_file: + assert summary_file.read() == test_summary_file.read()