There are some advanced use cases that could improve the experience significantly.
1. Run Individual Test Cases
Currently, the testing window provides a "Run All" option. It would be useful to also have an option to run a single selected test case.
Use cases:
* Quickly debugging a specific failing case.
* Avoiding unnecessary execution of all test cases when only one case needs verification.
Also i might need to debug a particular test case, via the IDE built-in debugging.
2. Advanced Custom Test Case Generator
Currently, custom test cases are useful for manually entering edge cases, which works well for small inputs.
However, for competitive programming, there are many situations where manually writing large test cases is impractical.
An advanced mode could allow users to define generated test cases, for example:
Large random arrays
Example:
- Generate an array of size
200000.
- Fill it with random values.
- Shuffle the order randomly.
Ordered arrays
Generate:
Constant arrays
Generate:
Adversarial inputs
Allow generating special inputs such as:
- Anti-hash test cases.
- Worst-case structures for common algorithms.
- Inputs targeting specific edge cases.
The goal is not necessarily to verify correctness, but to test whether the solution respects the time limit and memory constraints.
3. Optional Expected Output
For generated test cases, it may not always be possible or practical to provide the expected output.
The expected output field could be optional.
Behavior:
- If expected output is provided:
- Compare the program output normally.
- Show success/failure status.
- If expected output is empty:
- Run the program.
- Only check execution status, runtime, and possible errors.
- Display a neutral state instead of success/failure.
4. Handling Problems With Multiple Valid Answers
Some competitive programming problems allow multiple correct outputs.
It would be useful to know how the plugin currently handles such cases.
Possible future support:
- Allow custom output validators/checkers.
- Or provide a neutral verification mode when exact output matching is not possible.
For such problems, showing a neutral result would be preferable over marking the test as failed due to output mismatch.
Motivation
The main goal is to make the testing environment closer to what competitive programmers use locally:
- Stress testing solutions.
- Finding TLE cases before submission.
- Testing edge cases automatically.
- Avoiding dependence on external scripts/tools.
These features would make the plugin much more powerful for advanced competitive programming workflows.
There are some advanced use cases that could improve the experience significantly.
1. Run Individual Test Cases
Currently, the testing window provides a "Run All" option. It would be useful to also have an option to run a single selected test case.
Use cases:
* Quickly debugging a specific failing case.
* Avoiding unnecessary execution of all test cases when only one case needs verification.
Also i might need to debug a particular test case, via the IDE built-in debugging.
2. Advanced Custom Test Case Generator
Currently, custom test cases are useful for manually entering edge cases, which works well for small inputs.
However, for competitive programming, there are many situations where manually writing large test cases is impractical.
An advanced mode could allow users to define generated test cases, for example:
Large random arrays
Example:
200000.Ordered arrays
Generate:
Constant arrays
Generate:
Adversarial inputs
Allow generating special inputs such as:
The goal is not necessarily to verify correctness, but to test whether the solution respects the time limit and memory constraints.
3. Optional Expected Output
For generated test cases, it may not always be possible or practical to provide the expected output.
The expected output field could be optional.
Behavior:
4. Handling Problems With Multiple Valid Answers
Some competitive programming problems allow multiple correct outputs.
It would be useful to know how the plugin currently handles such cases.
Possible future support:
For such problems, showing a neutral result would be preferable over marking the test as failed due to output mismatch.
Motivation
The main goal is to make the testing environment closer to what competitive programmers use locally:
These features would make the plugin much more powerful for advanced competitive programming workflows.