/Testcase-Generator

⚡️ Handy script for HackerRank, HackerEarth and CodeChef TCs Generation.

Primary LanguagePythonMIT LicenseMIT

Testcase Generator

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).

Table of Contents

Mentions

  • Blog post on experince in NWoC 2018 by Rounak Agarwal.
  • Selected as project in GSSoC 2019
  • Selected as project in NJACKWinterOfCode 2018

Supported Languages

The following languages are supported for testcase generation:

Install

How to Use ? 😃

  • 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)

    • Activate virtualenv (Linux)

      $ source ./venv/bin/activate
    • Activate virtualenv (Windows)

       $ 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 and test-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. 😉

How it Works ? 🤔

Demo

Setup using Docker 🐳

  docker build . --tag=tcgen
  docker run -p 4000:80 tcgen

Running Tests ✅

  • 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.

Contributors ✨

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!

Stargazers over time 📈

Stargazers over time

Made with ❤ by Aashutosh Rathi