All Projects β†’ fukamachi β†’ Getac

fukamachi / Getac

Licence: bsd-3-clause
Quick unit testing tool for competitive programming

Projects that are alternatives of or similar to Getac

Cpeditor
The IDE for competitive programming πŸŽ‰ | Fetch, Code, Compile, Run, Check, Submit πŸš€
Stars: ✭ 562 (+1177.27%)
Mutual labels:  competitive-programming
Competitivequestion
Question solved on various competitive sites 🀘
Stars: ✭ 5 (-88.64%)
Mutual labels:  competitive-programming
Huprog
A repo which includes the HUPROG'17(Hacettepe University Programming Contest)'s questions and the solutions of that questions.
Stars: ✭ 11 (-75%)
Mutual labels:  competitive-programming
Competitive Programming Docs
🌺Algorithm papers, coursewares, documents, notes and other materials are constantly being updated.
Stars: ✭ 572 (+1200%)
Mutual labels:  competitive-programming
Arabiccompetitiveprogramming
The repository contains the ENGLISH description files attached to the video series in my ARABIC algorithms channel.
Stars: ✭ 675 (+1434.09%)
Mutual labels:  competitive-programming
Test Case Generators
Test case generator code samples for Competitive Programming
Stars: ✭ 23 (-47.73%)
Mutual labels:  competitive-programming
Ac Library
AtCoder Library
Stars: ✭ 520 (+1081.82%)
Mutual labels:  competitive-programming
Graph Theory
Graph algorithms implementation
Stars: ✭ 42 (-4.55%)
Mutual labels:  competitive-programming
Atcoderproblems
Extend your AtCoder
Stars: ✭ 713 (+1520.45%)
Mutual labels:  competitive-programming
Competitive Programming Library
A library designed to improve your competitive programming performance.
Stars: ✭ 26 (-40.91%)
Mutual labels:  competitive-programming
Judge0
πŸ”₯ The most advanced open-source online code execution system in the world.
Stars: ✭ 607 (+1279.55%)
Mutual labels:  competitive-programming
Judge Server
Judging backend server for the DMOJ online judge.
Stars: ✭ 648 (+1372.73%)
Mutual labels:  competitive-programming
Java Competitive Programming
I have written some important Algorithms and Data Structures in an efficient way in Java with proper references to time and space complexity. These Pre-cooked and well-tested codes help to implement larger hackathon problems in lesser time. DFS, BFS, LCA, All Pair Shortest Path, Longest Common Subsequence, Binary Search, Lower Bound Search, Maximal Matching, Matrix Exponentiation, Segment Tree, Sparse Table, Merge Sort, Miller Prime Test, Prims - Minimum Spanning Tree, BIT - Binary Index Tree, Two Pointers, BST - Binary Search Tree, Maximum Subarray Sum, Immutable Data Structures, Persistent Data Structurs - Persistent Trie, Dijkstra, Z - Function, Minimum Cost Maximal Matching, Heavy Light Decomposition, Knapsack, Suffix Array and LCP - Longest Common Prefix, Squre Root Decomposition, Kth Order Statics, Trie / Prefix Tree, LIS - Longest Increasing Subsequence, Hashing
Stars: ✭ 24 (-45.45%)
Mutual labels:  competitive-programming
Faang
Facebook, Amazon, Apple, Netflix and Google (FAANG) Job preparation.
Stars: ✭ 557 (+1165.91%)
Mutual labels:  competitive-programming
Online Judge
LQD Online Judge
Stars: ✭ 36 (-18.18%)
Mutual labels:  competitive-programming
Interactive Coding Challenges
120+ interactive Python coding interview challenges (algorithms and data structures). Includes Anki flashcards.
Stars: ✭ 24,317 (+55165.91%)
Mutual labels:  competitive-programming
Div2 2018 19
A repository containing Workshop Slides, Problem Sets and Solution for Competitive Programming at McGill's Division 2 training in the 2018-2019 academic year.
Stars: ✭ 17 (-61.36%)
Mutual labels:  competitive-programming
Algorithms
Solved algorithms and data structures problems in many languages
Stars: ✭ 1,021 (+2220.45%)
Mutual labels:  competitive-programming
Awesome Competitive Programming
πŸ’Ž A curated list of awesome Competitive Programming, Algorithm and Data Structure resources
Stars: ✭ 9,119 (+20625%)
Mutual labels:  competitive-programming
Cyber Labs Get Started
This repository contains resources to get you started in the field of your choice.
Stars: ✭ 25 (-43.18%)
Mutual labels:  competitive-programming

getac

Quick unit testing CLI tool for competitive programming.

Screenshot

Usage

$ getac -h
Usage: getac [options] <file>

OPTIONS:
    -t, --test=<file>
        Specify a file to read test cases. (Default: <file>.txt)
    -f, --filetype=<type>
        File type to test. The default will be detected by the file extension.
    -T, --timeout=<seconds>
        Time limit for each test cases. (Default: 2)
    --disable-colors
        Turn off colors.
    -F, --no-fail-fast
        Don't quit when a failure.
    -V, --version
        Print version.
    -h, --help
        Show help.

# Run with the default Python
$ getac main.py

# Specify test cases
$ getac -t test-cases.in main.py

# Run with PyPy3
$ getac -f pypy3 main.py

Installation

via Homebrew (for macOS/Linux)

Install Homebrew if not already installed.

$ brew tap fukamachi/getac
$ brew install getac

Manually

Install SBCL if not already installed.

$ git clone https://github.com/fukamachi/getac
$ cd getac
$ make
$ sudo make install

Getting started

  1. Write your code in a file (ex. main.py)
a = int(input())
b, c = map(int, input().split())
s = input()
print(a + b + c, s)
  1. Write your test cases in "*.txt" (ex. main.txt)
==== example1 ====
1
2 3
test
--------------
6 test
==== example2 ====
2
3 4
myonmyon
-------
9 myonmyon

See Format of test cases for getting its syntax.

  1. Run getac main.py

Screenshot of successed tests

If some test cases are failed, it shows 'WA' (wrong answer).

Screenshot of failed tests

Format of test cases

Single .txt file

Let's start with this very minimal example which contains a single test case:

Input texts are here...
------------------
Expected result is here...

The input text and its expected results are separated with ---- (more than 4 hyphens).

When you include multiple test cases in the same file, those have to be divided with ==== (more than 4 equal signs).

Input texts are here...
------------------
Expected result is here...
==================
Second test case
------------------
Expected result is here again...

The name of each test cases can be written in the middle of separators, like ==== example1 ====.

Here's the full example:

==== example1 ====
Input texts are here...
------------------
Expected result is here...
==== example2 ====
Second test case
------------------
Expected result is here again...

Separated input/output files

If the single test file couldn't find, getac tries to get from ./test/ and ./tests/ directory, which contains test cases as separated input/output files.

The directory structure is like this:

.
β”œβ”€β”€ main.lisp
└── tests
    β”œβ”€β”€ sample-1.in
    β”œβ”€β”€ sample-1.out
    β”œβ”€β”€ sample-2.in
    └── sample-2.out

Supported languages

  • C
  • C++
  • Clojure
  • Common Lisp
  • Go
  • Haskell
  • Java
  • Node.js
  • Python
  • Ruby
  • Scheme

Author

Copyright

Copyright (c) 2019 Eitaro Fukamachi ([email protected])

License

See LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].