aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/python/friends_operator_overloading_runme.py
blob: 2b097553783fa2f12e16d726da32bc86b5472ae9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import friends_operator_overloading

friends_operator_overloading.sanity_checker_ShiftA()
friends_operator_overloading.sanity_checker_ShiftB()

sa1 = friends_operator_overloading.ShiftA(200)
sa2 = friends_operator_overloading.ShiftA(1000)
sb1 = friends_operator_overloading.ShiftB(200)
sb2 = friends_operator_overloading.ShiftB(1000)

# Shift operator via members
sa3 = sa2 << sa1
val = sa3.getVal()
if val != 800:
    raise RuntimeError("Wrong val: {}".format(val))

sa4 = sa2 << 300
val = sa4.getVal()
if val != 700:
    raise RuntimeError("Wrong val: {}".format(val))

sb3 = sb2 << sb1
val = sb3.getVal()
if val != 800:
    raise RuntimeError("Wrong val: {}".format(val))

sb4 = sb2 << 300
val = sb4.getVal()
if val != 700:
    raise RuntimeError("Wrong val: {}".format(val))

# Shift operator via global wrapper
shift = friends_operator_overloading.__lshift__(sa2, sa1)
val = shift.getVal()
if val != 800:
    raise RuntimeError("Wrong val: {}".format(val))

shift = friends_operator_overloading.__lshift__(sb2, sb1)
val = shift.getVal()
if val != 800:
    raise RuntimeError("Wrong val: {}".format(val))