Skip to content

Commit e498b66

Browse files
committed
Add doctest for prototype
1 parent 93df74d commit e498b66

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

patterns/creational/prototype.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,20 +52,22 @@ def unregister_object(self, name):
5252

5353

5454
def main():
55-
dispatcher = PrototypeDispatcher()
56-
prototype = Prototype()
55+
"""
56+
>>> dispatcher = PrototypeDispatcher()
57+
>>> prototype = Prototype()
5758
58-
d = prototype.clone()
59-
a = prototype.clone(value='a-value', category='a')
60-
b = prototype.clone(value='b-value', is_checked=True)
61-
dispatcher.register_object('objecta', a)
62-
dispatcher.register_object('objectb', b)
63-
dispatcher.register_object('default', d)
64-
print([{n: p.value} for n, p in dispatcher.get_objects().items()])
59+
>>> d = prototype.clone()
60+
>>> a = prototype.clone(value='a-value', category='a')
61+
>>> b = prototype.clone(value='b-value', is_checked=True)
62+
>>> dispatcher.register_object('objecta', a)
63+
>>> dispatcher.register_object('objectb', b)
64+
>>> dispatcher.register_object('default', d)
6565
66+
>>> [{n: p.value} for n, p in dispatcher.get_objects().items()]
67+
[{'objecta': 'a-value'}, {'objectb': 'b-value'}, {'default': 'default'}]
68+
"""
6669

67-
if __name__ == '__main__':
68-
main()
6970

70-
### OUTPUT ###
71-
# [{'objectb': 'b-value'}, {'default': 'default'}, {'objecta': 'a-value'}]
71+
if __name__ == '__main__':
72+
import doctest
73+
doctest.testmod()

0 commit comments

Comments
 (0)