mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
69 lines
878 B
V
69 lines
878 B
V
fn main() {
|
|
test_eq_ne()
|
|
test_lt_gt()
|
|
test_ref_deref()
|
|
println("ok")
|
|
}
|
|
|
|
fn test_eq_ne() {
|
|
unsafe {
|
|
mut a := voidptr(0)
|
|
mut b := voidptr(0)
|
|
assert a == a
|
|
assert !(a != a)
|
|
assert a == b
|
|
assert !(a != b)
|
|
|
|
a = voidptr(0xdeadbeef)
|
|
assert a != b
|
|
assert !(a == b)
|
|
|
|
b = voidptr(0xdeadbeef)
|
|
assert a == b
|
|
assert !(a != b)
|
|
}
|
|
}
|
|
|
|
fn test_lt_gt() {
|
|
unsafe {
|
|
mut a := voidptr(0)
|
|
mut b := voidptr(1)
|
|
|
|
assert !(a < a)
|
|
assert !(a > a)
|
|
assert a >= a
|
|
assert a <= a
|
|
|
|
assert a < b
|
|
assert !(a > b)
|
|
assert a <= b
|
|
assert !(a >= b)
|
|
|
|
a = voidptr(0x42)
|
|
assert a > b
|
|
assert a >= b
|
|
assert !(a < b)
|
|
assert !(a <= b)
|
|
|
|
b = voidptr(0x42)
|
|
assert a >= b
|
|
assert a <= b
|
|
assert !(a > b)
|
|
assert !(a < b)
|
|
}
|
|
}
|
|
|
|
fn test_ref_deref() {
|
|
mut a := 42
|
|
b := &a
|
|
c := &b
|
|
|
|
assert *b == 42
|
|
|
|
a = 50
|
|
assert *b == 50
|
|
|
|
assert *c == b
|
|
assert **c == *b
|
|
}
|