All Classes and Interfaces

Class
Description
Abstract factory class for creating Grade objects.
The main entry point for the autograder application.
Represents details of an assignment including the student's details and the assignment grade.
Represents grades and feedback for an assignment.
The AssignmentTestRunner class executes JUnit test cases related to student submissions.
A concrete implementation of GradeTemplate for grading the chatbot generator.
Unit tests for the `ChatBotGenerator` class, focusing on verifying that the `generateChatBotLLM` method is correctly implemented and returns expected results based on various input codes.
A concrete implementation of GradeTemplate for grading the chatbot.
A concrete implementation of GradeTemplate for grading the chatbot platform.
Test suite for the ChatBotPlatform class which manages a collection of ChatBot instances.
A concrete implementation of GradeTemplate for grading the chatbot simulation.
Test suite for the ChatBotSimulation class that verifies various aspects of the chat bot system.
Unit tests for the `ChatBot` class, focusing on verifying methods are correctly implemented and returns expected results based on various input codes.
The CompileCommand interface defines a contract for compiling student submission code.
Constants class containing static final variables used across the application.
The Facade interface defines a method for processing student submissions.
The Factory interface defines methods for creating items or a collection of items based on JUnit test results.
The Grade interface defines methods to retrieve grading details.
The GradeConfigLoader class is responsible for loading and providing grading weightings for various grading types.
A factory class to create specific types of Grade objects based on the given index.
An abstract class that implements the Grade interface and provides a template for grading assignments or tests based on results.
Utility class for grading-related operations, including calculations and formatting.
The GradingFacade class provides a high-level interface for processing student submissions, running tests, grading, and generating reports.
The JavaCompileCommand class handles compiling Java files in a specific directory.
The MarkSchemeLoader class loads grading weightings from a YAML file.
The MarkSchemeLoaderStrategy interface defines a method for loading grading weightings.
The PDF interface defines a method for generating a PDF report.
The PDFGenerator class generates PDF reports for assignments based on the provided assignment details.
Represents a grading structure specific to programming assignments, extending the generic GradeTemplate with configuration and feedback specific to the program component of a course.
The ProgramTest class provides a suite of tests to verify the functionality of the code, ensuring that it compiles and runs successfully.
Represents details of a student derived from a submission file name.
Singleton class representing a student's submission, including compilation status and file loading.
The SubmissionExtractor class handles extracting student submissions from a zip file.
The SubmissionOrganizer class organizes student submissions by unzipping files and preparing directories.
The TestRunner interface defines a method for executing test cases.
Utility class for processing and comparing text strings.
Utility class for parsing a simple YAML structure from an input stream.
Utility class for extracting files from a ZIP archive.