5
0
Derivar 0
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
calculate-utils-4-lib/tests/templates/test_template_filters.py

69 linhas
1.6 KiB

import pytest
import calculate.templates.template_filters as filters
class TestObj:
def __str__(self):
return "TestObj_value"
@pytest.mark.parametrize('case',
[
{
"name": "empty",
"data": "",
"params": (),
"result": ""
},
{
"name": "none value",
"data": None,
"params": (),
"result": ""
},
{
"name": "obj value",
"data": TestObj(),
"params": (),
"result": "TestObj_value"
},
{
"name": "default",
"data": "123",
"params": (),
"result": "123"
},
{
"name": "default with delimiter",
"data": "123-456",
"params": (),
"result": "123"
},
{
"name": "second field",
"data": "123-456",
"params": (1,),
"result": "456"
},
{
"name": "second field empty",
"data": "",
"params": (1,),
"result": ""
},
{
"name": "second field but one field",
"data": "123",
"params": (1,),
"result": ""
},
{
"name": "use dilimeter",
"data": "123.456",
"params": (1,"."),
"result": "456"
},
],
ids=lambda x:x["name"])
@pytest.mark.template_filters
def test_filter_cut(case):
assert filters.cut(case["data"], *case["params"]) == case["result"]