Skip to main content

A testing library for coding problems

Project description

codetest

A simple python library which makes it easier to test code after solving a coding problem.

How to Install

codetest can be installed using pip install codetest.

  • required
    • Python 3.6.0+

pip install codetest

How to Use

To run a test, you need to pass an array of tests and the class in which the function is written

from codetest import CodeTest

class AnyName:
    def AnyNameFn(self,...AnyNumberOfInputs):
        return result

tests = [
    {},
    ...
]

# Call to the Test Library
CodeTest(tests,AnyName)

How to write a testcase?

#index.py
from codetest import CodeTest
class Problem:
    def sumOfTwoNumbers(self, a=2,b=2):
        return a + b
    def main(self, a=2,b=2):
        return a - b

tests = [
    #Test 0
    {
        "function" : "sumOfTwoNumbers",
        "params" : {
            "input":[
                {"value":5},
                {"value":4},
            ],
            "output":[{"value":8}]
        }
    },
    #Test 1
    {
        "function" : "sumOfTwoNumbers",
        "params" : {
            #input not passed hence the function either takes default values or doesn't expect any inputs
            "output":[{"value":8}]
        }
    },
    #Test 2
    {
        # if function is not passed then `main` is executed
        "params" : {
            #input not passed hence the function either takes default values or doesn't expect any inputs
            "output":[{"value":8}]
        }
    },
]

CodeTest(tests,Problem)
  • This will result in following output
--------------------------[TEST 0]--------------------------
Expected Output: 8
Computed Output: 9
                                             [Time: 0.001ms]
------------------------------------------------------------
--------------------------[TEST 1]--------------------------
Expected Output: 8
Computed Output: 4
                                             [Time: 0.001ms]
------------------------------------------------------------
--------------------------[TEST 2]--------------------------
Expected Output: 8
Computed Output: 0
                                             [Time: 0.001ms]
------------------------------------------------------------

Tests

Testcase Structure

? - Optional

    tests = [
        {
            function?: "" // default "main"
            params?: {
                input?:[],
                output?:[]
            }
        }
    ]
  • If function is not provided, the default function would be main
  • The order in which the input objects are added would be same as the params passed to the function.
  • if input is not passed, then it is considered same as no inputs passed to the function
  • if output is not passed, then the test doesn't expect any output to be returned from the function.
  • if params is not passed, then the function is executed as-is with no input and output

Input/Output Structure

? - Optional

    {
        value: any,
        type?: any,
    }

Supported Types

  1. int
  2. float
  3. list
  4. tuple
  5. dict
  6. set
  7. bool
  8. linkedlist
  9. binarytree

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codetest-1.1.0.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

codetest-1.1.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file codetest-1.1.0.tar.gz.

File metadata

  • Download URL: codetest-1.1.0.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1

File hashes

Hashes for codetest-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d47f7d25c5ddfef00474957e8f53784263385288a9778f62d4811418000c57d5
MD5 d30a01c60cc5ebf818729fd70996e083
BLAKE2b-256 f9dd050b91b18660d644604f3593f4713aa5036d3b73f90e736544e9ff6c03b4

See more details on using hashes here.

Provenance

File details

Details for the file codetest-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: codetest-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1

File hashes

Hashes for codetest-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f0c3046ddc9aee626f3a24bee0d1b98a115a71d046b2d5b09adb1f5d8fc6f49
MD5 2896a31e12825edf56d099b23f6ced04
BLAKE2b-256 8e5569025b357606788d63c5ecff6ccf39e9b6520059768bdbba031254d4b648

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page