Use parametrize instead of TestCase

This commit is contained in:
Dave Halter
2019-07-10 23:22:10 -07:00
parent cef23f44cd
commit 0ec86d5034

View File

@@ -216,35 +216,22 @@ def test_param_endings(Script):
assert [p.description for p in sig.params] == ['param a', 'param b=5', 'param c=""'] assert [p.description for p in sig.params] == ['param a', 'param b=5', 'param c=""']
class TestIsDefinition(TestCase): @pytest.mark.parametrize(
@pytest.fixture(autouse=True) 'code, index, name, is_definition', [
def init(self, environment): ('name', 0, 'name', False),
self.environment = environment ('a = f(x)', 0, 'a', True),
('a = f(x)', 1, 'f', False),
def _def(self, source, index=-1): ('a = f(x)', 2, 'x', False),
return names( ]
dedent(source), )
references=True, def test_is_definition(names, code, index, name, is_definition):
all_scopes=True, d = names(
environment=self.environment dedent(code),
)[index] references=True,
all_scopes=True,
def test_name(self): )[index]
d = self._def('name') assert d.name == name
assert d.name == 'name' assert d.is_definition() == is_definition
assert not d.is_definition()
def test_stmt(self):
src = 'a = f(x)'
d = self._def(src, 0)
assert d.name == 'a'
assert d.is_definition()
d = self._def(src, 1)
assert d.name == 'f'
assert not d.is_definition()
d = self._def(src)
assert d.name == 'x'
assert not d.is_definition()
@pytest.mark.parametrize( @pytest.mark.parametrize(