Handy script to generate Test Cases for HackerRank, HackerEarth and CodeChef Problems
Are you a Problem Author? The toughest part of creating a problem is creating tricky, correct and constrained Test Cases. Well, here is a handy Python Script, for your respective logic (solution).
- Testcase Generator
- Table of Contents
- Mentions
- Supported Languages
- Install
- Contributors ✨
- Stargazers over time 📈
- Blog post on experince in NWoC 2018 by Rounak Agarwal.
- Selected as project in GSSoC 2019
- Selected as project in NJACKWinterOfCode 2018
The following languages are supported for testcase generation:
-
Clone the repository
$ git clone https://github.com/aashutoshrathi/Testcase-Generator.git
-
Create a virtual environment
$ virtualenv venv
(click here to read about activating virtualenv)$ source ./venv/bin/activate
$ cd venv/Scripts/ $ activate
-
Install requirements and modules
$ pip install -r requirements.txt
$ pip install -e .
- Change directory to
tc_generator
$ cd tc_generator/
- Edit the logic file of the language of your choice with the code for which you want to generate TCs NOTE: Make sure to keep the classname as 'logic' in java so that it can compile to 'logic.class'
- Edit the Input area in
tc_gen.py
according to the input format you wish to generate - Run the project
$ python tc_gen.py
- Enter your choice of language when prompted
- Enter the choice of platform when prompted
- The input and output files would be generated and stored in
test-cases.zip
for HackerRank & HackerEarth andtest-cases
directory for CodeChef.
Tip: If you're creating testcases for CodeChef then you can validate that the input sequence is generated according to the constraints using this validator file. 😉
docker build . --tag=tcgen
docker run -p 4000:80 tcgen
- Change Directory to
Testcase-Generator
$ cd Testcase-Generator/
- Install requirements and modules
$ pip install -r requirements.txt
$ pip install -e .
- Run
pytest
$ pytest
- If no tests fail, the generator is working correctly.
Thanks goes to these wonderful people (emoji key):
Aashutosh Rathi 🔧 📆 👀 🐛 💻 |
Pushkar Patel 🚧 |
Pritha Upadhyay 🚧 |
Vishnu Ramana 📖 |
Tim Rossback 📖 |
Sasivarnan R 📖 |
Gerardo Gálvez 💻 |
Dastgir 📖 |
Sai Adarsh S 📖 |
Rounak Agarwal 💻 📝 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Made with ❤ by Aashutosh Rathi