Most of these test D_d twice when they really should be testing
D_d once and D_i once (the variable name is `di` and the values
assigned are integers).
This was wrong in the initial version for Python in
708021a809 and it looks like subsequent
additions for other languages have just copied that mistake.
37 lines
716 B
Python
37 lines
716 B
Python
import friends
|
|
|
|
a = friends.A(2)
|
|
|
|
if friends.get_val1(a) != 2:
|
|
raise RuntimeError
|
|
if friends.get_val2(a) != 4:
|
|
raise RuntimeError
|
|
if friends.get_val3(a) != 6:
|
|
raise RuntimeError
|
|
|
|
# nice overload working fine
|
|
if friends.get_val1(1, 2, 3) != 1:
|
|
raise RuntimeError
|
|
|
|
b = friends.B(3)
|
|
|
|
# David's case
|
|
if friends.mix(a, b) != 5:
|
|
raise RuntimeError
|
|
|
|
di = friends.D_i(2)
|
|
dd = friends.D_d(3.3)
|
|
|
|
# incredible template overloading working just fine
|
|
if friends.get_val1(di) != 2:
|
|
raise RuntimeError
|
|
if friends.get_val1(dd) != 3.3:
|
|
raise RuntimeError
|
|
|
|
friends.set(di, 4)
|
|
friends.set(dd, 1.3)
|
|
|
|
if friends.get_val1(di) != 4:
|
|
raise RuntimeError
|
|
if friends.get_val1(dd) != 1.3:
|
|
raise RuntimeError
|