Kaynağa Gözat

Remove the code example in favor of the doctests

Denis Bykov 12 yıl önce
ebeveyn
işleme
bc108a2c25
1 değiştirilmiş dosya ile 20 ekleme ve 17 silme
  1. 20 17
      adapter.py

+ 20 - 17
adapter.py

@@ -41,6 +41,24 @@ class Adapter(object):
     Usage:
     dog = Dog
     dog = Adapter(dog, dict(make_noise=dog.bark))
+
+    >>> objects = []
+    >>> dog = Dog()
+    >>> objects.append(Adapter(dog, dict(make_noise=dog.bark)))
+    >>> cat = Cat()
+    >>> objects.append(Adapter(cat, dict(make_noise=cat.meow)))
+    >>> human = Human()
+    >>> objects.append(Adapter(human, dict(make_noise=human.speak)))
+    >>> car = Car()
+    >>> car_noise = lambda: car.make_noise(3)
+    >>> objects.append(Adapter(car, dict(make_noise=car_noise)))
+
+    >>> for obj in objects:
+    ...     print("A", obj.name, "goes", obj.make_noise())
+    ('A', 'Dog', 'goes', 'woof!')
+    ('A', 'Cat', 'goes', 'meow!')
+    ('A', 'Human', 'goes', "'hello'")
+    ('A', 'Car', 'goes', 'vroom!!!')
     """
     def __init__(self, obj, adapted_methods):
         """We set the adapted methods in the object's dict"""
@@ -52,21 +70,6 @@ class Adapter(object):
         return getattr(self.obj, attr)
 
 
-def main():
-    objects = []
-    dog = Dog()
-    objects.append(Adapter(dog, dict(make_noise=dog.bark)))
-    cat = Cat()
-    objects.append(Adapter(cat, dict(make_noise=cat.meow)))
-    human = Human()
-    objects.append(Adapter(human, dict(make_noise=human.speak)))
-    car = Car()
-    car_noise = lambda: car.make_noise(3)
-    objects.append(Adapter(car, dict(make_noise=car_noise)))
-
-    for obj in objects:
-        print("A", obj.name, "goes", obj.make_noise())
-
-
 if __name__ == "__main__":
-    main()
+    import doctest
+    doctest.testmod()