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
|
if [ catch { load ./li_constraints[info sharedlibextension] Li_constraints} err_msg ] {
puts stderr "Could not load shared object:\n$err_msg"
}
proc check_double {except fn f val} {
set actual [ catch { $fn $val } err_msg ]
if { $actual == 0 } {
if { $except != 0 } {
error "function '$f' with $val should perform an exception"
}
} else {
if { $except == 0 } {
error "function '$f' with $val should not perform an exception"
} elseif { [ string equal $err_msg "ValueError Expected a $f value." ] != 1 } {
error "function '$f' with $val should perform a proper exception"
}
}
}
proc nonnegative {val } { test_nonnegative $val }
check_double 0 nonnegative "non-negative" 10
check_double 0 nonnegative "non-negative" 0
check_double 1 nonnegative "non-negative" -10
proc nonpositive {val } { test_nonpositive $val }
check_double 1 nonpositive "non-positive" 10
check_double 0 nonpositive "non-positive" 0
check_double 0 nonpositive "non-positive" -10
proc positive {val } { test_positive $val }
check_double 0 positive "positive" 10
check_double 1 positive "positive" 0
check_double 1 positive "positive" -10
proc negative {val } { test_negative $val }
check_double 1 negative "negative" 10
check_double 1 negative "negative" 0
check_double 0 negative "negative" -10
proc nonzero {val } { test_nonzero $val }
check_double 0 nonzero "nonzero" 10
check_double 1 nonzero "nonzero" 0
check_double 0 nonzero "nonzero" -10
set actual [ catch { test_nonnull NULL } err_msg ]
if { ($actual != 1) ||
([ string equal $err_msg "NullReferenceError Received a NULL pointer." ] != 1) } {
error "Test 'test_nonnull' with null value fail"
}
set nonnull [ get_nonnull ]
test_nonnull $nonnull
|