summaryrefslogtreecommitdiff
path: root/Examples/test-suite/python/default_args_runme.py
blob: f24e825ad1c6befdc7dd410aed497f038896b442 (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
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
78
79
80
81
82
83
84
85
86
87
88
89
90
# Note that this test is also used by python_default_args_runme.py hence the use of __main__ and the run function

def run(module_name):
  default_args = __import__(module_name)
  ec = default_args.EnumClass()
  if not ec.blah():
    raise RuntimeError("EnumClass::blah() default arguments don't work")

  de = default_args.DerivedEnumClass()
  de.accelerate()
  de.accelerate(default_args.EnumClass.SLOW)

  if default_args.Statics_staticMethod() != 60:
    raise RuntimeError

  if default_args.cfunc1(1) != 2:
    raise RuntimeError

  if default_args.cfunc2(1) != 3:
    raise RuntimeError

  if default_args.cfunc3(1) != 4:
    raise RuntimeError


  f = default_args.Foo()

  f.newname()
  f.newname(1)


  try:
    f = default_args.Foo(1)
    error = 1
  except:
    error = 0
  if error:  raise RuntimeError("Foo::Foo ignore is not working")

  try:
    f = default_args.Foo(1,2)
    error = 1
  except:
    error = 0
  if error:  raise RuntimeError("Foo::Foo ignore is not working")

  try:
    f = default_args.Foo(1,2,3)
    error = 1
  except:
    error = 0
  if error:  raise RuntimeError("Foo::Foo ignore is not working")

  try:
    m = f.meth(1)
    error = 1
  except:
    error = 0
  if error:  raise RuntimeError("Foo::meth ignore is not working")

  try:
    m = f.meth(1,2)
    error = 1
  except:
    error = 0
  if error:  raise RuntimeError("Foo::meth ignore is not working")

  try:
    m = f.meth(1,2,3)
    error = 1
  except:
    error = 0
  if error:  raise RuntimeError("Foo::meth ignore is not working")

  if default_args.Klass.inc(100, default_args.Klass(22)).val != 122:
    raise RuntimeError("Klass::inc failed")

  if default_args.Klass.inc(100).val != 99:
    raise RuntimeError("Klass::inc failed")

  if default_args.Klass.inc().val != 0:
    raise RuntimeError("Klass::inc failed")

  default_args.trickyvalue1(10); default_args.trickyvalue1(10, 10)
  default_args.trickyvalue2(10); default_args.trickyvalue2(10, 10)
  default_args.trickyvalue3(10); default_args.trickyvalue3(10, 10)
  default_args.seek(); default_args.seek(10)

if __name__=="__main__":
  run('default_args')