A simple test case runner in Python that uses TOML configurations and decorator syntax.
Project description
pysvt
About
A simple test case runner in Python that takes data in the format of a TOML file or dictionary and uses decorator syntax.
Installation
pip install pysvt
Upgrade version
pip install --upgrade pysvt
Usage
Check the examples directory for more elaborate examples.
-
Function
Python
from pysvt import test @test(file="<path_to_TOML_file>") def function(arg1: int, arg2: int) -> int: return arg1 + arg2
TOML
name = ["One and Two", "Two and Three"] metadata = ["Add to 3", "Add to 5"] i = [[1, 2], [2, 3]] o = [3, 5]
or
[[cases]] name = "One and Two" i = [1, 2] o = 3 metadata = "Add to 3" [[cases]] name = "Two and Three" i = [2, 3] o = 5 metadata = "Add to 5"
- Input key can be either of - i, in, input, inputs
- Output key can be either of - o, out, output, outputs
-
Class (if you want to test instance methods)
Python
from pysvt import test # Specify the name of the method as the second argument @test(file="<path_to_TOML_file>", "function") class Solution: def function(self, arg1: int, arg2: int) -> int: return arg1 + arg2
TOML
name = ["One and Two", "Two and Three"] metadata = ["Add to 3", "Add to 5"] init = [] # Has to be specified, indicates class constructor arguments i = [[1, 2], [2, 3]] o = [3, 5]
or
[[cases]] name = "One and Two" i = [1, 2] o = 3 metadata = "Add to 3" init = [] # Has to be specified, indicates class constructor arguments [[cases]] name = "Two and Three" i = [2, 3] o = 5 metadata = "Add to 5" init = []
- Input key can be either of - i, in, input, inputs
- Output key can be either of - o, out, output, outputs
Running examples
poetry run python -m examples.<example_file_name>
Creating a new release
- Update the version in
pyproject.toml - Update
CHANGELOG.md - Run local lint/format/tests
- Create new git tag and push
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pysvt-0.6.0.tar.gz.
File metadata
- Download URL: pysvt-0.6.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.2 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56733fa5001e4f8b63779a30430c2fe667b39ee1feba25c674deb265bc867435
|
|
| MD5 |
6b4b45d81ebed69421cc39b97ef87ddf
|
|
| BLAKE2b-256 |
7c47bf85fced0d9f94cf2ed197a04898623b477142e8d2ae96cfba207b69a422
|
File details
Details for the file pysvt-0.6.0-py3-none-any.whl.
File metadata
- Download URL: pysvt-0.6.0-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.2 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0fec01cdefb314eebf70ef081d8895ee2c5d085327dede22e24a7d3625276b4
|
|
| MD5 |
a4a5e5bc8e9600a52bf4c0d3caa8dbbd
|
|
| BLAKE2b-256 |
f47862b22d2d6a24158115453efbbb556541a92b0cb2595b996ca7a45df2e8c2
|