{% extends "main.html" %} {% block extrahead %} {% endblock %} {% macro quality_item(title, icon="") %}
Everything is cached, only affected nodes are recomputed.
{% endcall %} {% call quality_item("Easy to use", icon="face-smile") %}Thorough documentation to get you rolling.
{% endcall %} {% call quality_item("Ship everywhere", icon="rocket") %}Build packages for BOCA, Codeforces and more.
{% endcall %} {% call quality_item("Correctness is key", icon="check") %}Seamless integration with the testlib library.
{% endcall %} {% call quality_item("Think outside the box", icon="box-open") %}First class support for interactive problems.
{% endcall %} {% call quality_item("Define once, use everywhere", icon="recycle") %}Declare your constraints as variables, reference them everywhere.
{% endcall %}Visualize your testset interactively, without leaving your terminal.
Check the test input, the expected output, and information about the origin of the test case.
{% endcall %} {% call feature_item("Verify solutions", "setters/running", "x8NJUtmob4uSHUUFppxUn64Kn", command="rbx run") %}Verify whether correct solutions pass, and incorrect solutions fail at least one testcase.
Define their expected verdict once, and let the tool verify it for you.
{% endcall %} {% call feature_item("Stress test", "setters/stress-testing", "TOoswpIL4mRKfstnDCkKLw2Xn", command="rbx stress") %}Build a strong testset by generating random testcases that break incorrect solutions.
Ensure your correct solutions pass a stress test scenario and cover all edge cases.
{% endcall %} {% call feature_item("Validate inputs", "setters/verification/validators", "141SSzM2QsLqznBknzMdojOHj") %}Validate your input data with validators and never worry about invalid input data again.
{% endcall %} {% call feature_item("Unit tests", "setters/verification/unit-tests", "51w76V3tB3zirJkucufFVD4hs", command="rbx unit") %}Write unit tests for your custom checkers and validators and reduce the likelihood of bugs in your problem.
{% endcall %}