42 lines
921 B
Plaintext
42 lines
921 B
Plaintext
// Mutation primitives mirror ref/hare/bytes/{reverse,zero}.ha.
|
|
|
|
package bytes_test;
|
|
|
|
import bytes;
|
|
|
|
@test fn reverse_cases() void = {
|
|
let z: [1]u8;
|
|
bytes.reverse(z[0:0]);
|
|
|
|
let one: [1]u8; one[0] = 7u8;
|
|
bytes.reverse(one[0:1]);
|
|
assert(!(one[0] != 7u8));
|
|
|
|
let odd: [5]u8;
|
|
let i: i32 = 0;
|
|
for (i < 5) { odd[i] = (i + 1): u8; i += 1; };
|
|
bytes.reverse(odd[0:5]);
|
|
assert(!(odd[0] != 5u8 || odd[1] != 4u8 || odd[2] != 3u8 ||
|
|
odd[3] != 2u8 || odd[4] != 1u8));
|
|
|
|
let even: [4]u8;
|
|
i = 0;
|
|
for (i < 4) { even[i] = (i + 1): u8; i += 1; };
|
|
bytes.reverse(even[0:4]);
|
|
assert(!(even[0] != 4u8 || even[1] != 3u8 || even[2] != 2u8 ||
|
|
even[3] != 1u8));
|
|
};
|
|
|
|
@test fn zero_cases() void = {
|
|
let z: [1]u8; z[0] = 9u8;
|
|
bytes.zero(z[0:0]);
|
|
assert(!(z[0] != 9u8));
|
|
|
|
let v: [5]u8;
|
|
let i: i32 = 0;
|
|
for (i < 5) { v[i] = (i + 1): u8; i += 1; };
|
|
bytes.zero(v[0:5]);
|
|
i = 0;
|
|
for (i < 5) { assert(!(v[i] != 0u8)); i += 1; };
|
|
};
|