Files
ww/lib/bytes/mutate_test.ww

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; };
};