configtypes: Fix ColorTests parametrization.
This commit is contained in:
parent
488676e0e9
commit
e4c7e70aba
@ -722,14 +722,18 @@ class ColorTests:
|
|||||||
'stop:0 white, stop:1 green)', [configtypes.QssColor]),
|
'stop:0 white, stop:1 green)', [configtypes.QssColor]),
|
||||||
]
|
]
|
||||||
|
|
||||||
COMBINATIONS = itertools.product(TESTS, TYPES)
|
COMBINATIONS = list(itertools.product(TESTS, TYPES))
|
||||||
|
|
||||||
def generate_valid(self):
|
def __init__(self):
|
||||||
|
self.valid = list(self._generate_valid())
|
||||||
|
self.invalid = list(self._generate_invalid())
|
||||||
|
|
||||||
|
def _generate_valid(self):
|
||||||
for (val, valid_classes), klass in self.COMBINATIONS:
|
for (val, valid_classes), klass in self.COMBINATIONS:
|
||||||
if klass in valid_classes:
|
if klass in valid_classes:
|
||||||
yield klass, val
|
yield klass, val
|
||||||
|
|
||||||
def generate_invalid(self):
|
def _generate_invalid(self):
|
||||||
for (val, valid_classes), klass in self.COMBINATIONS:
|
for (val, valid_classes), klass in self.COMBINATIONS:
|
||||||
if klass not in valid_classes:
|
if klass not in valid_classes:
|
||||||
yield klass, val
|
yield klass, val
|
||||||
@ -739,15 +743,22 @@ class TestColors:
|
|||||||
|
|
||||||
"""Test QtColor/CssColor/QssColor."""
|
"""Test QtColor/CssColor/QssColor."""
|
||||||
|
|
||||||
|
TESTS = ColorTests()
|
||||||
|
|
||||||
@pytest.fixture(params=ColorTests.TYPES)
|
@pytest.fixture(params=ColorTests.TYPES)
|
||||||
def klass(self, request):
|
def klass(self, request):
|
||||||
return request.param
|
return request.param
|
||||||
|
|
||||||
@pytest.mark.parametrize('klass, val', ColorTests().generate_valid())
|
def test_test_generator(self):
|
||||||
|
"""Some sanity checks for ColorTests."""
|
||||||
|
assert self.TESTS.valid
|
||||||
|
assert self.TESTS.invalid
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('klass, val', TESTS.valid)
|
||||||
def test_validate_valid(self, klass, val):
|
def test_validate_valid(self, klass, val):
|
||||||
klass(none_ok=True).validate(val)
|
klass(none_ok=True).validate(val)
|
||||||
|
|
||||||
@pytest.mark.parametrize('klass, val', ColorTests().generate_invalid())
|
@pytest.mark.parametrize('klass, val', TESTS.invalid)
|
||||||
def test_validate_invalid(self, klass, val):
|
def test_validate_invalid(self, klass, val):
|
||||||
with pytest.raises(configexc.ValidationError):
|
with pytest.raises(configexc.ValidationError):
|
||||||
klass().validate(val)
|
klass().validate(val)
|
||||||
@ -756,7 +767,7 @@ class TestColors:
|
|||||||
with pytest.raises(configexc.ValidationError):
|
with pytest.raises(configexc.ValidationError):
|
||||||
klass().validate('')
|
klass().validate('')
|
||||||
|
|
||||||
@pytest.mark.parametrize('klass, val', ColorTests().generate_valid())
|
@pytest.mark.parametrize('klass, val', TESTS.valid)
|
||||||
def test_transform(self, klass, val):
|
def test_transform(self, klass, val):
|
||||||
"""Test transform of all color types."""
|
"""Test transform of all color types."""
|
||||||
if not val:
|
if not val:
|
||||||
|
Loading…
Reference in New Issue
Block a user