The most important components of a programming problem are its test cases.
Test cases consist of input data and reference output data.
The submitted program is executed with the input data of the test case and then the output data it
generates is compared to the reference output data.
A detailed description of processing submissions in the Problems module is described
in the Submission flow
chapter of the content manager's handbook.