1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/tests/attribute_access_type_restriction_conditional_choice.py Mon Nov 23 01:22:06 2009 +0100
1.3 @@ -0,0 +1,35 @@
1.4 +#!/usr/bin/env python
1.5 +
1.6 +class C:
1.7 + def f(self):
1.8 + return 1
1.9 +
1.10 +class D:
1.11 + def f(self):
1.12 + return 2
1.13 +
1.14 + def g(self):
1.15 + return 3
1.16 +
1.17 +class E:
1.18 + def f(self):
1.19 + return 4
1.20 +
1.21 + def h(self):
1.22 + return 5
1.23 +
1.24 +def test_conditional(obj):
1.25 + # obj: C, D, E (f)
1.26 + if obj.f(): # C, D, E (f)
1.27 + obj.g() # D (f, g)
1.28 + else:
1.29 + obj.h() # E (f, h)
1.30 + # # (f, g) ^ (f, h)
1.31 + return 2
1.32 +
1.33 +c = C()
1.34 +d = D()
1.35 +e = E()
1.36 +result1_2 = test_conditional(d)
1.37 +
1.38 +# vim: tabstop=4 expandtab shiftwidth=4