Skip to content

Commit 72c888f

Browse files
committed
Doctest for specification
1 parent 1f0f522 commit 72c888f

File tree

1 file changed

+15
-17
lines changed

1 file changed

+15
-17
lines changed

patterns/behavioral/specification.py

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -88,25 +88,23 @@ def is_satisfied_by(self, candidate):
8888

8989

9090
def main():
91-
print('Specification')
92-
andrey = User()
93-
ivan = User(super_user=True)
94-
vasiliy = 'not User instance'
91+
"""
92+
>>> andrey = User()
93+
>>> ivan = User(super_user=True)
94+
>>> vasiliy = 'not User instance'
9595
96-
root_specification = UserSpecification().and_specification(SuperUserSpecification())
96+
>>> root_specification = UserSpecification().and_specification(SuperUserSpecification())
9797
98-
print(root_specification.is_satisfied_by(andrey))
99-
print(root_specification.is_satisfied_by(ivan))
100-
print(root_specification.is_satisfied_by(vasiliy))
98+
# Is specification satisfied by <name>
99+
>>> root_specification.is_satisfied_by(andrey), 'andrey'
100+
(False, 'andrey')
101+
>>> root_specification.is_satisfied_by(ivan), 'ivan'
102+
(True, 'ivan')
103+
>>> root_specification.is_satisfied_by(vasiliy), 'vasiliy'
104+
(False, 'vasiliy')
105+
"""
101106

102107

103108
if __name__ == '__main__':
104-
main()
105-
106-
107-
OUTPUT = """
108-
Specification
109-
False
110-
True
111-
False
112-
"""
109+
import doctest
110+
doctest.testmod()

0 commit comments

Comments
 (0)