| 1 | module main |
| 2 | |
| 3 | import builtin.linux_bare.old.checks.forkedtest |
| 4 | |
| 5 | fn check_string_eq() { |
| 6 | assert 'monkey' != 'rat' |
| 7 | some_animal := 'a bird' |
| 8 | assert some_animal == 'a bird' |
| 9 | } |
| 10 | |
| 11 | fn check_i64_tos() { |
| 12 | buffer0 := []u8{len: (128)} |
| 13 | buffer := byteptr(buffer0.data) |
| 14 | |
| 15 | s0 := i64_tos(buffer, 70, 140, 10) |
| 16 | assert s0 == '140' |
| 17 | |
| 18 | s1 := i64_tos(buffer, 70, -160, 10) |
| 19 | assert s1 == '-160' |
| 20 | |
| 21 | s2 := i64_tos(buffer, 70, 65537, 16) |
| 22 | assert s2 == '10001' |
| 23 | |
| 24 | s3 := i64_tos(buffer, 70, -160000, 10) |
| 25 | assert s3 == '-160000' |
| 26 | } |
| 27 | |
| 28 | fn check_i64_str() { |
| 29 | assert '141' == i64_str(141, 10) |
| 30 | assert '-161' == i64_str(-161, 10) |
| 31 | assert '10002' == i64_str(65538, 16) |
| 32 | assert '-160001' == i64_str(-160001, 10) |
| 33 | } |
| 34 | |
| 35 | fn check_str_clone() { |
| 36 | a := i64_str(1234, 10) |
| 37 | b := a.clone() |
| 38 | assert a == b |
| 39 | c := i64_str(-6789, 10).clone() |
| 40 | assert c == '-6789' |
| 41 | } |
| 42 | |
| 43 | fn check_string_add_works() { |
| 44 | abc := 'abc' |
| 45 | combined := 'a' + 'b' + 'c' |
| 46 | assert abc.len == combined.len |
| 47 | assert abc[0] == combined[0] |
| 48 | assert abc[1] == combined[1] |
| 49 | assert abc[2] == combined[2] |
| 50 | assert abc[0] == `a` |
| 51 | assert abc == combined |
| 52 | } |
| 53 | |
| 54 | fn main() { |
| 55 | mut fails := 0 |
| 56 | fails += forkedtest.normal_run(check_string_eq, 'check_string_eq') |
| 57 | fails += forkedtest.normal_run(check_i64_tos, 'check_i64_tos') |
| 58 | fails += forkedtest.normal_run(check_i64_str, 'check_i64_str') |
| 59 | fails += forkedtest.normal_run(check_str_clone, 'check_str_clone') |
| 60 | fails += forkedtest.normal_run(check_string_add_works, 'check_string_add_works') |
| 61 | assert fails == 0 |
| 62 | sys_exit(0) |
| 63 | } |
| 64 | |