Giter Site home page Giter Site logo

pyjudge's Introduction

pyjudge

A simple testing utility to quickly compare a solution with its reference implementation.

Example use:

from pyjudge import judge

fib_tests = [
    (0,),
    (1,),
    (2,),
    (10,),
    (22,),
    (31,)
]

def fib(index):
    if index == 0:
        return 0
    elif index == 1:
        return 1
    else:
        return fib(index - 1) + fib(index - 2)

@judge(reference_solution=fib, tests=fib_tests)
def my_fib(index):
    results = [0, 1]
    if index <= 1:
        return results[index]
    else:
        cur_index = 1
        while cur_index < index:
            cur_index += 1
            results += [results[-1] + results[-2]]
        return results[index]

Output:

Test #0 : my_fib : SUCCESS - expected: 0, got: 0
Test #1 : my_fib : SUCCESS - expected: 1, got: 1
Test #2 : my_fib : SUCCESS - expected: 1, got: 1
Test #3 : my_fib : SUCCESS - expected: 55, got: 55
Test #4 : my_fib : SUCCESS - expected: 17711, got: 17711
Test #5 : my_fib : SUCCESS - expected: 1346269, got: 1346269

pyjudge's People

Contributors

panmar avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

hillbamboo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.