File: operator_overload_runme.py

package info (click to toggle)
renderdoc 1.2%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 79,584 kB
  • sloc: cpp: 491,671; ansic: 285,823; python: 12,617; java: 11,345; cs: 7,181; makefile: 6,703; yacc: 5,682; ruby: 4,648; perl: 3,461; php: 2,119; sh: 2,068; lisp: 1,835; tcl: 1,068; ml: 747; xml: 137
file content (77 lines) | stat: -rw-r--r-- 1,388 bytes parent folder | download | duplicates (7)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
from operator_overload import *

# first check all the operators are implemented correctly from pure C++ code
Op_sanity_check()

pop = Op(6)/Op(3)

# test routine:
a=Op()
b=Op(5)
c=Op(b) # copy construct
d=Op(2)
dd=d # assignment operator

# test equality
if not a!=b:
  raise RuntimeError("a!=b")
if not b==c:
  raise RuntimeError("b==c")
if not a!=d:
  raise RuntimeError("a!=d")
if not d==dd:
  raise RuntimeError("d==dd")

# test <
if not a<b:
  raise RuntimeError("a<b")
if not a<=b:
  raise RuntimeError("a<=b")
if not b<=c:
  raise RuntimeError("b<=c")
if not b>=c:
  raise RuntimeError("b>=c")
if not b>d:
  raise RuntimeError("b>d")
if not b>=d:
  raise RuntimeError("b>=d")

# test +=
e=Op(3)
e+=d
if not e==b:
  raise RuntimeError("e==b (%s==%s)" % (e.i, b.i))
e-=c
if not e==a:
  raise RuntimeError("e==a")
e=Op(1)
e*=b
if not e==c:
  raise RuntimeError("e==c")
e/=d
if not e==d:
  raise RuntimeError("e==d")
e%=c;
if not e==d:
  raise RuntimeError("e==d")

# test +
f=Op(1)
g=Op(1)
if not f+g==Op(2):
  raise RuntimeError("f+g==Op(2)")
if not f-g==Op(0):
  raise RuntimeError("f-g==Op(0)")
if not f*g==Op(1):
  raise RuntimeError("f*g==Op(1)")
if not f/g==Op(1):
  raise RuntimeError("f/g==Op(1)")
if not f%g==Op(0):
  raise RuntimeError("f%g==Op(0)")

# test unary operators
if not -a==a:
  raise RuntimeError("-a==a")
if not -b==Op(-5):
  raise RuntimeError("-b==Op(-5)")