| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -41,6 +41,24 @@ class Adapter(object): | |||
| 41 | 41 | Usage: | |
| 42 | 42 | dog = Dog | |
| 43 | 43 | dog = Adapter(dog, dict(make_noise=dog.bark)) | |
| 44 | + | ||
| 45 | + >>> objects = [] | ||
| 46 | + >>> dog = Dog() | ||
| 47 | + >>> objects.append(Adapter(dog, dict(make_noise=dog.bark))) | ||
| 48 | + >>> cat = Cat() | ||
| 49 | + >>> objects.append(Adapter(cat, dict(make_noise=cat.meow))) | ||
| 50 | + >>> human = Human() | ||
| 51 | + >>> objects.append(Adapter(human, dict(make_noise=human.speak))) | ||
| 52 | + >>> car = Car() | ||
| 53 | + >>> car_noise = lambda: car.make_noise(3) | ||
| 54 | + >>> objects.append(Adapter(car, dict(make_noise=car_noise))) | ||
| 55 | + | ||
| 56 | + >>> for obj in objects: | ||
| 57 | + ... print("A", obj.name, "goes", obj.make_noise()) | ||
| 58 | + ('A', 'Dog', 'goes', 'woof!') | ||
| 59 | + ('A', 'Cat', 'goes', 'meow!') | ||
| 60 | + ('A', 'Human', 'goes', "'hello'") | ||
| 61 | + ('A', 'Car', 'goes', 'vroom!!!') | ||
| 44 | 62 | """ | |
| 45 | 63 | def __init__(self, obj, adapted_methods): | |
| 46 | 64 | """We set the adapted methods in the object's dict""" | |
@@ -52,21 +70,6 @@ def __getattr__(self, attr): | |||
| 52 | 70 | return getattr(self.obj, attr) | |
| 53 | 71 | ||
| 54 | 72 | ||
| 55 | - def main(): | ||
| 56 | - objects = [] | ||
| 57 | - dog = Dog() | ||
| 58 | - objects.append(Adapter(dog, dict(make_noise=dog.bark))) | ||
| 59 | - cat = Cat() | ||
| 60 | - objects.append(Adapter(cat, dict(make_noise=cat.meow))) | ||
| 61 | - human = Human() | ||
| 62 | - objects.append(Adapter(human, dict(make_noise=human.speak))) | ||
| 63 | - car = Car() | ||
| 64 | - car_noise = lambda: car.make_noise(3) | ||
| 65 | - objects.append(Adapter(car, dict(make_noise=car_noise))) | ||
| 66 | - | ||
| 67 | - for obj in objects: | ||
| 68 | - print("A", obj.name, "goes", obj.make_noise()) | ||
| 69 | - | ||
| 70 | - | ||
| 71 | 73 | if __name__ == "__main__": | |
| 72 | - main() | ||
| 74 | + import doctest | ||
| 75 | + doctest.testmod() | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments