import unittest import io import re from unittest import mock import math import student_X as main #Replace student_X with your filename import sys import io from io import StringIO import inspect class SphereTests(unittest.TestCase): def test_default_case(self): function = main.sphere with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: function() output = fake_stdout.getvalue().strip() source_code = inspect.getsource(function) correct = "523.598775598" in output message = "You aren't printing the correct volume." self.assertTrue(correct, message) correct = "radius = 5" in source_code message = "It looks like you modified the first line." self.assertTrue(correct, message) correct = "pi = 3.1415926535897932" in source_code message = "It looks like you modified the definition of pi. Please use the number I provided on the webpage." self.assertTrue(correct, message) correct = 'print(volume)' in source_code message = "It looks like you modified the last line." self.assertTrue(correct, message) if __name__ == "__main__": tests = SphereTests() tests.test_default_case()