You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
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"]
|