forked from lk-geimfari/mimesis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_generic.py
executable file
·111 lines (74 loc) · 2.34 KB
/
test_generic.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# -*- coding: utf-8 -*-
import re
import pytest
from .test_data import _patterns as p
def test_str(generic):
assert re.match(p.STR_REGEX, str(generic))
def test_base_personal(generic):
result = generic.personal.username()
assert result is not None
def test_base_text(generic):
result = generic.text.words()
assert result is not None
def test_base_address(generic):
result = generic.address.address()
assert result is not None
def test_base_food(generic):
result = generic.food.fruit()
assert result is not None
def test_base_science(generic):
result = generic.science.scientific_article()
assert result is not None
def test_base_business(generic):
result = generic.business.copyright()
assert result is not None
def test_base_unit_system(generic):
result = generic.unit_system.mass()
assert result is not None
def test_base_code(generic):
result = generic.code.isbn()
assert result is not None
def test_bad_argument(generic):
with pytest.raises(AttributeError):
_ = generic.bad_argument # noqa
def test_add_provider(generic):
class CustomProvider:
class Meta:
name = 'custom_provider'
@staticmethod
def say():
return 'Custom'
@staticmethod
def number():
return 1
generic.add_provider(CustomProvider)
assert generic.custom_provider.say() is not None
assert generic.custom_provider.number() == 1
with pytest.raises(TypeError):
generic.add_provider(True)
class UnnamedProvider(object):
@staticmethod
def nothing():
return None
generic.add_provider(UnnamedProvider)
assert generic.unnamedprovider.nothing() is None
assert 'unnamedprovider' == UnnamedProvider.__name__.lower()
def test_add_providers(generic):
class Provider1(object):
@staticmethod
def one():
return 1
class Provider2(object):
@staticmethod
def two():
return 2
class Provider3(object):
@staticmethod
def three():
return 3
generic.add_providers(Provider1, Provider2, Provider3)
assert generic.provider1.one() == 1
assert generic.provider2.two() == 2
assert generic.provider3.three() == 3
with pytest.raises(TypeError):
generic.add_providers(True)