summaryrefslogtreecommitdiff
path: root/Examples/test-suite/python/li_constraints_runme.py
blob: 72ba22d9a6ac4b32101a43ea390b24eebd978963 (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
import li_constraints

def check_double(et, fn, f, val):
    actual = True
    proper = False
    try:
      fn(val)
    except ValueError as e:
      actual = False
      proper = "Expected a " + f + " value." == "%s"%(e)
    if actual:
      if not et:
        raise Exception("function '%s' with %d should perform an exception"%(f, val))
    else:
      if et:
        raise Exception("function '%s' with %d should not perform an exception"%(f, val))
      elif not proper:
        raise Exception("function '%s' with %d should perform a proper exception"%(f, val))
    pass

nonnegative = lambda v : li_constraints.test_nonnegative(v)
check_double(True, nonnegative, "non-negative", 10)
check_double(True, nonnegative, "non-negative", 0)
check_double(False, nonnegative, "non-negative", -10)

nonpositive = lambda v : li_constraints.test_nonpositive(v)
check_double(False, nonpositive, "non-positive", 10)
check_double(True, nonpositive, "non-positive", 0)
check_double(True, nonpositive, "non-positive", -10)

positive = lambda v : li_constraints.test_positive(v)
check_double(True, positive, "positive", 10)
check_double(False, positive, "positive", 0)
check_double(False, positive, "positive", -10)

negative = lambda v : li_constraints.test_negative(v)
check_double(False, negative, "negative", 10)
check_double(False, negative, "negative", 0)
check_double(True, negative, "negative", -10)

nonzero = lambda v : li_constraints.test_nonzero(v)
check_double(True, nonzero, "nonzero", 10)
check_double(False, nonzero, "nonzero", 0)
check_double(True, nonzero, "nonzero", -10)

have_exception = False
try:
   li_constraints.test_nonnull(None)
except ValueError as e:
   have_exception = "Received a NULL pointer." == "%s"%(e)
if not have_exception:
   raise Exception("test_nonnull should perform exception with 'null' value")
nonnull = li_constraints.get_nonnull()
li_constraints.test_nonnull(nonnull)