Learn about best practices for creating a functional IO lab on Fermion
Creating an I/O lab on Fermion requires you to follow several best practices to ensure your lab functions correctly and provides a good learning experience.
Fermion labs are built on the philosophy of having an input and an expected output. In many cases, the expected output can have multiple spaces, line breaks, and other formatting elements. Therefore, it is crucial that you select the right matcher for your specific use case.
There are multiple matchers available in Fermion I/O lab setup that allow you to configure how the expected output of the program is matched with the real output that the user generates:
Exact Match: Use this when you need the output to match exactly, including all spaces, tabs, and line breaks
Other matchers: Available for different matching requirements
For example, if you want an exact match, you must use the exact output matcher.
When creating an I/O lab, you can specify some test cases as sample test cases. If you mark a test case as a sample test case, it becomes visible to the end user, allowing them to understand the expected input-output format before attempting the lab.
If you’re using an exact match matcher, your lab will fail even if there’s a single new line, tab, or different character difference. Make sure your expected output matches the actual output character-for-character.