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 bemain
- The order in which the
input
objects are added would be same as the params passed to thefunction
. - 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
int
float
list
tuple
dict
set
bool
linkedlist
binarytree
Project details
Release history Release notifications | RSS feed
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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d47f7d25c5ddfef00474957e8f53784263385288a9778f62d4811418000c57d5 |
|
MD5 | d30a01c60cc5ebf818729fd70996e083 |
|
BLAKE2b-256 | f9dd050b91b18660d644604f3593f4713aa5036d3b73f90e736544e9ff6c03b4 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f0c3046ddc9aee626f3a24bee0d1b98a115a71d046b2d5b09adb1f5d8fc6f49 |
|
MD5 | 2896a31e12825edf56d099b23f6ced04 |
|
BLAKE2b-256 | 8e5569025b357606788d63c5ecff6ccf39e9b6520059768bdbba031254d4b648 |