2018-02-02 03:07:54 +01:00
|
|
|
import "allocator/arena";
|
2018-01-28 19:33:05 +01:00
|
|
|
|
2018-01-15 00:08:06 +01:00
|
|
|
// note that this doesn't test a real set implementation yet, see std/assembly/set.ts
|
|
|
|
|
|
|
|
var set = changetype<Set<i32>>(allocate_memory(sizeof<usize>() + 2 * sizeof<i32>()));
|
|
|
|
|
|
|
|
assert(set.size == 0);
|
|
|
|
|
|
|
|
set.add(1);
|
|
|
|
set.add(0);
|
|
|
|
set.add(2);
|
|
|
|
|
|
|
|
assert(set.size == 3);
|
|
|
|
|
|
|
|
assert(set.has(1));
|
|
|
|
assert(set.has(0));
|
|
|
|
assert(set.has(2));
|
|
|
|
assert(!set.has(3));
|
|
|
|
|
|
|
|
set.delete(0);
|
|
|
|
|
|
|
|
assert(set.size == 2);
|
|
|
|
assert(set.has(1));
|
|
|
|
assert(!set.has(0));
|
|
|
|
assert(set.has(2));
|
|
|
|
|
|
|
|
set.clear();
|
|
|
|
|
|
|
|
assert(set.size == 0);
|
|
|
|
assert(!set.has(1));
|