|
1 | 1 | from unittest import TestCase |
2 | 2 |
|
3 | | -from ..matchers import EachLike, Like, Matcher, SomethingLike, Term, from_term |
| 3 | +from ..matchers import EachLike, Like, Matcher, SomethingLike, \ |
| 4 | + Term, from_term, get_generated_values |
4 | 5 |
|
5 | 6 |
|
6 | 7 | class MatcherTestCase(TestCase): |
@@ -118,7 +119,6 @@ def test_regex(self): |
118 | 119 | class FromTermTestCase(TestCase): |
119 | 120 | def test_dict(self): |
120 | 121 | expected = {'administrator': False, 'id': 123, 'username': 'user'} |
121 | | - |
122 | 122 | self.assertEqual(from_term(expected), expected) |
123 | 123 |
|
124 | 124 | def test_none(self): |
@@ -184,3 +184,57 @@ def test_nested(self): |
184 | 184 | def test_unknown_type(self): |
185 | 185 | with self.assertRaises(ValueError): |
186 | 186 | from_term(set()) |
| 187 | + |
| 188 | + |
| 189 | +class GetGeneratedValuesTestCase(TestCase): |
| 190 | + def test_none(self): |
| 191 | + self.assertIsNone(get_generated_values(None)) |
| 192 | + |
| 193 | + def test_bool(self): |
| 194 | + self.assertFalse(get_generated_values(False)) |
| 195 | + |
| 196 | + def test_unicode(self): |
| 197 | + self.assertEqual(get_generated_values(u'testing'), 'testing') |
| 198 | + |
| 199 | + def test_int(self): |
| 200 | + self.assertEqual(get_generated_values(123), 123) |
| 201 | + |
| 202 | + def test_float(self): |
| 203 | + self.assertEqual(get_generated_values(3.14), 3.14) |
| 204 | + |
| 205 | + def test_list(self): |
| 206 | + term = [1, 123, 'sample'] |
| 207 | + self.assertEqual(get_generated_values(term), term) |
| 208 | + |
| 209 | + def test_dict(self): |
| 210 | + expected = {'administrator': False, 'id': 123, 'username': 'user'} |
| 211 | + self.assertEqual(get_generated_values(expected), expected) |
| 212 | + |
| 213 | + def test_each_like(self): |
| 214 | + self.assertEqual( |
| 215 | + get_generated_values(EachLike({'a': 1})), [{'a': 1}]) |
| 216 | + |
| 217 | + def test_each_like_minimum(self): |
| 218 | + self.assertEqual(get_generated_values(EachLike({'a': 1}, minimum=5)), |
| 219 | + [{'a': 1}] * 5) |
| 220 | + |
| 221 | + def test_something_like(self): |
| 222 | + self.assertEqual( |
| 223 | + get_generated_values(SomethingLike(123)), 123) |
| 224 | + |
| 225 | + def test_term(self): |
| 226 | + self.assertEqual( |
| 227 | + get_generated_values(Term('[a-f0-9]+', 'abc123')), 'abc123') |
| 228 | + |
| 229 | + def test_nested(self): |
| 230 | + input = [ |
| 231 | + EachLike({ |
| 232 | + 'username': Term('[a-zA-Z]+', 'firstlast'), |
| 233 | + 'id': SomethingLike(123)})] |
| 234 | + self.assertEqual( |
| 235 | + get_generated_values(input), |
| 236 | + [[{'username': 'firstlast', 'id': 123}]]) |
| 237 | + |
| 238 | + def test_unknown_type(self): |
| 239 | + with self.assertRaises(ValueError): |
| 240 | + get_generated_values(set()) |
0 commit comments