diff options
Diffstat (limited to 'test/test_results.py')
| -rw-r--r-- | test/test_results.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/test/test_results.py b/test/test_results.py index 28db6c3..6e04e1d 100644 --- a/test/test_results.py +++ b/test/test_results.py @@ -239,7 +239,11 @@ class TestExtractorResults(unittest.TestCase): key = key[1:] if key not in kwdict: continue + path = "{}.{}".format(parent, key) if parent else key + if key.startswith("!"): + self.assertNotIn(key[1:], kwdict, msg=path) + continue self.assertIn(key, kwdict, msg=path) value = kwdict[key] @@ -272,8 +276,11 @@ class TestExtractorResults(unittest.TestCase): elif test.startswith("type:"): self.assertEqual(test[5:], type(value).__name__, msg=path) elif test.startswith("len:"): - self.assertIsInstance(value, (list, tuple), msg=path) - self.assertEqual(int(test[4:]), len(value), msg=path) + cls, _, length = test[4:].rpartition(":") + if cls: + self.assertEqual( + cls, type(value).__name__, msg=path + "/type") + self.assertEqual(int(length), len(value), msg=path) else: self.assertEqual(test, value, msg=path) else: |
