PHP: How do we verify solutions?
Our website verifies your solutions automatically. You may wonder how it works.
In the simplest case the system runs your code and analyzes the screen output. Then it compares the actual output against the expected output.
The following lessons deal with more complex matters. You will be writing functions: a kind of mini-programs that receive some data from outside and perform operations on it. Verifying solutions gets a little more complicated in that case. The system runs your code sending some data to it. The system knows what result a correctly written function would receive with that particular data and "expects" it.
Let's assume your task is to program a function that adds two numbers. The verification system would give it several combinations of numbers and compare your function's answers with correctly calculated ones. If all actual values match the expected ones, your solution would be considered valid.
This approach is named testing. It is used extensively in the real life day-to-day development process. A developer usually writes tests first, and only after proceeds to writing the program itself. During that process he runs tests multiple times to check how close he got to the desired solution.
That is why our website says “Tests passed” once you solved the task correctly.
One of your tasks in the following lessons will be to write a function that performs certain calculations and returns the result. As an example, let's assume you made a small mistake and the function returned a wrong value. In that case, the system will give you the following message:
Fatal error: Uncaught Assert\InvalidArgumentException: Value "10" does not equal expected value "35".
The main thing comes after the colon: “Value ‘10’ does not equal expected value ‘35’”. This means the correctly designed function would have returned 35, and yet the current function returns 10 — which means it works incorrectly.
Print the following to screen:
Tests - code designed to check if a program works correctly; it does so by comparing a set of known valid results against the actual output of the program.