class SanityTest(unittest.TestCase): def setUp(self): # construct a test user here named dummy self.c = Console() self.name = "dummy" # print(self.c) #test new class res = self.c.process_commands('new_class ' + self.name) #print("res is: " + str(res)) if (not res): print(self.c.error) else: if(self.c.state == CLASS_STATE): ClassName = self.c.c.name #print ("Class "+ ClassName +" was created.") def tearDown(self): shutil.rmtree('./Users/dummy') def test_loadClass(self): #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) def test_newUser(self): #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) def test_loadUser(self): #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) #test load student res = self.c.process_commands('load_student ' + self.name) self.assertEqual(res, True) def test_createAnswerSheet(self): #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) #test load student res = self.c.process_commands('load_student ' + self.name) self.assertEqual(res, True) res = self.c.process_commands('answer_sheet GE30') #create answer sheet test self.assertEqual(res, True) def test_gradeTest(self): #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) #test load student res = self.c.process_commands('load_student ' + self.name) self.assertEqual(res, True) res = self.c.process_commands('answer_sheet GE30') #create answer sheet test #test grade test self.assertEqual(res, True) res = self.c.process_commands('grade GE30.csv') self.assertEqual(res, True) def test_saveUser(self): #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) #test load student res = self.c.process_commands('load_student ' + self.name) self.assertEqual(res, True) res = self.c.process_commands('answer_sheet GE30') #create answer sheet test #test grade test self.assertEqual(res, True) res = self.c.process_commands('grade GE30.csv') self.assertEqual(res, True) res = self.c.process_commands('save') self.assertEqual(res, True) def test_graphReport(self): #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) #test load student res = self.c.process_commands('load_student ' + self.name) self.assertEqual(res, True) res = self.c.process_commands('answer_sheet GE30') #create answer sheet test #test grade test self.assertEqual(res, True) res = self.c.process_commands('grade GE30.csv') self.assertEqual(res, True) # test graph report res = self.c.process_commands('graph_report') self.assertEqual(res, True) def test_sectionReport(self): #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) #test load student res = self.c.process_commands('load_student ' + self.name) self.assertEqual(res, True) res = self.c.process_commands('answer_sheet GE30') #create answer sheet test #test grade test self.assertEqual(res, True) res = self.c.process_commands('grade GE30.csv') self.assertEqual(res, True) # test section report res = self.c.process_commands('section_report') self.assertEqual(res, True) def test_advancedReport(self): #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) #test load student res = self.c.process_commands('load_student ' + self.name) self.assertEqual(res, True) res = self.c.process_commands('answer_sheet GE30') #create answer sheet test #test grade test self.assertEqual(res, True) res = self.c.process_commands('grade GE30.csv') self.assertEqual(res, True) # test advanced report res = self.c.process_commands('advanced_report') self.assertEqual(res, True) def test_simpleReport(self): #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) #test load student res = self.c.process_commands('load_student ' + self.name) self.assertEqual(res, True) res = self.c.process_commands('answer_sheet GE30') #create answer sheet test #test grade test self.assertEqual(res, True) res = self.c.process_commands('grade GE30.csv') self.assertEqual(res, True) # test simple report res = self.c.process_commands('simple_report') self.assertEqual(res, True) ''' def test_autoGrader(self): #Autograde the dummy test with the test user's data mkdir("../../testfolder") #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) #test load student res = self.c.process_commands('load_student ' + self.name) self.assertEqual(res, True) res = self.c.process_commands('answer_sheet GE30') #create answer sheet test #test grade test self.assertEqual(res, True) res = self.c.process_commands('grade GE30.csv') self.assertEqual(res, True) shutil.copy(user_directory(self.name) + DIR_SEP + 'GE30.csv', "../../testfolder" + DIR_SEP + self.name + ".csv") foldername = "../../testfolder" if file_exists(foldername): list_of_tests = os.listdir(foldername) for filename in list_of_tests: if ".csv" in filename: pa = parse_answers(foldername + DIR_SEP + filename) name = pa.name if name == None or name not in list_users_array(): print ("Error", 'Student name not found. ' + filename + ' was unable to be graded.') else: self.c.process_commands('load_student ' + name) self.c.user.grade(pa) self.c.process_commands('save') rmdir("../../testfolder") self.count += 1 ''' def test_classAnalytics(self): #Test the functionality of class analytics. Should be isolated from other users, and class should only include the test user. Or we can run classAnalytics, but only have the assertion statement check for the test user we created in setup() #test load class res = self.c.process_commands('load_class ' + self.name) self.assertEqual(res, True) #test new student res = self.c.process_commands('new_student ' + self.name) self.assertEqual(res, True) #test load student res = self.c.process_commands('load_student ' + self.name) self.assertEqual(res, True) res = self.c.process_commands('answer_sheet GE30') #create answer sheet test #test grade test self.assertEqual(res, True) res = self.c.process_commands('grade GE30.csv') self.assertEqual(res, True) a = Analytics(self.c.c.name) a.report() dirc = user_directory('', self.c.c.name) self.assertEqual(file_exists(dirc + DIR_SEP + 'analytics.html'), True)
import sys sys.path.append('Library') from Values import * from Console import * c = Console() #print c.user #print c.state c.process_commands("load_user Neel") c.process_commands("reset") c.process_commands("grade 1760.csv") c.process_commands("grade 1860.csv") c.process_commands("grade 1870.csv") c.process_commands("grade 1760.csv") c.process_commands("grade 1860.csv") c.process_commands("grade 1870.csv") c.process_commands("grade 1860.csv") c.process_commands("grade 1870.csv") c.process_commands("grade 1930.csv") c.process_commands("grade 1930.csv") c.process_commands("grade 1930.csv") c.process_commands("grade 1990.csv") c.process_commands("grade 2110.csv") c.process_commands("grade 2170.csv") c.process_commands("grade 2280.csv") c.process_commands("grade 2400.csv") c.process_commands("grade 2280.csv") c.process_commands("grade 2370.csv") c.process_commands("grade 2400.csv") c.process_commands("grade 2370.csv")