forked from RustPython/RustPython
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathint_tests.rs
More file actions
84 lines (73 loc) · 1.9 KB
/
int_tests.rs
File metadata and controls
84 lines (73 loc) · 1.9 KB
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
#[test]
fn test_add() {
let add = jit_function! { add(a:i64, b:i64) -> i64 => r##"
def add(a: int, b: int):
return a + b
"## };
assert_eq!(add(5, 10), Ok(15));
assert_eq!(add(-5, 12), Ok(7));
assert_eq!(add(-5, -3), Ok(-8));
}
#[test]
fn test_sub() {
let sub = jit_function! { sub(a:i64, b:i64) -> i64 => r##"
def sub(a: int, b: int):
return a - b
"## };
assert_eq!(sub(5, 10), Ok(-5));
assert_eq!(sub(12, 10), Ok(2));
assert_eq!(sub(7, 10), Ok(-3));
assert_eq!(sub(-3, -10), Ok(7));
}
#[test]
fn test_eq() {
let eq = jit_function! { eq(a:i64, b:i64) -> i64 => r##"
def eq(a: int, b: int):
if a == b:
return 1
return 0
"## };
assert_eq!(eq(0, 0), Ok(1));
assert_eq!(eq(1, 1), Ok(1));
assert_eq!(eq(0, 1), Ok(0));
assert_eq!(eq(-200, 200), Ok(0));
}
#[test]
fn test_gt() {
let gt = jit_function! { gt(a:i64, b:i64) -> i64 => r##"
def gt(a: int, b: int):
if a > b:
return 1
return 0
"## };
assert_eq!(gt(5, 2), Ok(1));
assert_eq!(gt(2, 5), Ok(0));
assert_eq!(gt(2, 2), Ok(0));
assert_eq!(gt(5, 5), Ok(0));
assert_eq!(gt(-1, -10), Ok(1));
assert_eq!(gt(1, -1), Ok(1));
}
#[test]
fn test_minus() {
let minus = jit_function! { minus(a:i64) -> i64 => r##"
def minus(a: int):
return -a
"## };
assert_eq!(minus(5), Ok(-5));
assert_eq!(minus(12), Ok(-12));
assert_eq!(minus(-7), Ok(7));
assert_eq!(minus(-3), Ok(3));
assert_eq!(minus(0), Ok(0));
}
#[test]
fn test_plus() {
let plus = jit_function! { plus(a:i64) -> i64 => r##"
def plus(a: int):
return +a
"## };
assert_eq!(plus(5), Ok(5));
assert_eq!(plus(12), Ok(12));
assert_eq!(plus(-7), Ok(-7));
assert_eq!(plus(-3), Ok(-3));
assert_eq!(plus(0), Ok(0));
}