def results_overview(self, top):
     """Calculates the average score and passes it as well as the last score to the gui_results_overview."""
     try:
         sql_m = SqlManager()
         results_list = sql_m.sql_get_results_content(
             SettingVariables().selected_results_table)
         last_score = results_list[-1].score
         score_list = [score.score for score in results_list]
         score_average = 0
         for score in score_list:
             score_average += score
         score_average = str(round(score_average / len(score_list) * 100,
                                   2)) + " %"
         self.gui_results_overview(top, score_average, last_score)
     except IndexError as ie:
         print(str(ie) + " in results_overview")
         print(
             "This is OK, if our results table is empty. Otherwise you should inform your admin."
         )
Exemple #2
0
    def test_sql_insert_new_results(self):
        """Creates a database and results tables, inserts a row into the database table
        and creates a database copy of the database table. Queries last row_id + 1 and creates a Results object to
        pass it to the sql_insert_new_results. Then queries last row of the results table and compares it
        to the variables initially passed.
        """
        test_obj = TestVariables()
        selected_database = test_obj.selected_database
        selected_results_table = test_obj.selected_results_table
        selected_database_copy = test_obj.selected_database_copy
        self.setUpDatabase()
        self.setUpResultsTable()
        self.setUpInsertRow(selected_database)
        self.setUpDatabaseCopy()
        answers_right = test_obj.right_answers
        user_answers_right = test_obj.user_answers_right
        user_answers_wrong = test_obj.user_answers_wrong
        row_id = self.setUpRowID("database_table_db_db")
        results = self.setUpResultsObject(row_id, answers_right, user_answers_right, 1, firsts=2)
        sql_m = SqlManager()
        sql_m.sql_insert_new_results(results, selected_results_table)
        results_objects_list = sql_m.sql_get_results_content(selected_results_table)
        results_vars_list = results_objects_list[-1]
        results_vars_query = [results_vars_list.row_id,
                              results_vars_list.question,
                              results_vars_list.right_answers,
                              results_vars_list.user_answers,
                              results_vars_list.score,
                              results_vars_list.time_track,
                              results_vars_list.firsts]

        results_should_right = [row_id, "question", answers_right, user_answers_right, 1, 0.5, 2]
        results_should_wrong = [row_id, "question", answers_right, user_answers_wrong, 1, 0.5, 2]
        self.assertEqual(results_should_right, results_vars_query)
        self.assertNotEqual(results_should_wrong, results_vars_query)
        print("test_sql_insert_new_results: successful")
        self.tearDownTable(selected_database)
        self.tearDownTable(selected_results_table)
        self.tearDownTable(selected_database_copy)
 def show_testing_results(self):
     """Opens a window which shows contents of selected_results table."""
     sql_m = SqlManager()
     results_list = sql_m.sql_get_results_content(
         SettingVariables().selected_results_table)
     self.gui_show_testing_results(results_list)