用于合约测试的Python库
项目描述
ycontract
Python库,用于合约测试。
此库提供了检查函数的参数(in_contract)和返回值(out_contract)的函数。
如何安装
$ pip install ycontract
示例
示例文件在此处(测试文件)https://gitlab.com/yassu/ycontract.py/-/blob/master/tests/test_contract.py
主要示例是
from ycontract import contract, out_contract
@contract(lambda a, b: a * b > 0)
def add(a, b, c):
return a + b
@contract(returns=lambda res: res > 0)
def sub(a, b):
return a - b
有关in_contract的更复杂示例是
@contract(
lambda a0: a0 > 0,
lambda a1, b: a1 > 0 and b > 0,
{
"a2": lambda x: x > 0,
"a3": [
lambda x: x >= 0,
lambda x: x < 4,
],
("a4", "a5"): lambda x, y: x > 0 and y > 0,
},
b=lambda x: x > 0,
contract_tag="tagtag",
)
def add_for_complex(a0, a1, a2, a3, a4, a5, b=1):
return a0 + a1 + a2 + a3 + a4 + a5 + b
此外,如果您想禁用,请调用
ycontract.disable_contract()
许可证
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
ycontract-0.3.3.2.tar.gz (10.2 kB 查看哈希值)
构建分发
ycontract-0.3.3.2-py3-none-any.whl (11.5 kB 查看哈希值)
关闭
ycontract-0.3.3.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dfe0859180ad94825f7e0a858c3425d698a24d4b1646b421930d0b4d3bdbb46a |
|
MD5 | 6e76ca436ec91fb33b4e876c5158e412 |
|
BLAKE2b-256 | a6dc3e175a2908c92187303174d6c4754b059b7261beb2e2a4a4eb2566355890 |
关闭
ycontract-0.3.3.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bb9770cdc2cc4d895b5a41d49d5283369525176928fa8d770a0e582dad48985e |
|
MD5 | 2337e9fa075a648d15722d4177c0e5ad |
|
BLAKE2b-256 | 5688ef09a5688d219cd70a924328eda74113b530ae31fa30194f2d57a3b264b6 |