Browse Source

update tests

master
Martin Dørum 3 years ago
parent
commit
dd7855a0ad
2 changed files with 9 additions and 7 deletions
  1. 1
    1
      test/src/eval.t.c
  2. 8
    6
      test/src/namespace.t.c

+ 1
- 1
test/src/eval.t.c View File

@@ -13,7 +13,7 @@ static struct l2_vm vm;

static struct l2_vm_value *var_lookup(const char *name) {
l2_word atom_id = l2_strset_get(&gen.atomset, name);
l2_word id = l2_vm_namespace_get(&vm.values[vm.nstack[0]], atom_id);
l2_word id = l2_vm_namespace_get(&vm, &vm.values[vm.nstack[0]], atom_id);
return &vm.values[id];
}


+ 8
- 6
test/src/namespace.t.c View File

@@ -2,6 +2,8 @@

#include <snow/snow.h>

static struct l2_vm vm = {0};

describe(l2_vm_namespace) {
struct l2_vm_value val = {0};

@@ -13,26 +15,26 @@ describe(l2_vm_namespace) {
test("basic functionality") {
l2_vm_namespace_set(&val, 100, 50);
l2_vm_namespace_set(&val, 30, 600);
asserteq(l2_vm_namespace_get(&val, 100), 50);
asserteq(l2_vm_namespace_get(&val, 30), 600);
asserteq(l2_vm_namespace_get(&vm, &val, 100), 50);
asserteq(l2_vm_namespace_get(&vm, &val, 30), 600);
}

it("handles duplicates") {
l2_vm_namespace_set(&val, 536, 600);
l2_vm_namespace_set(&val, 100, 400);
l2_vm_namespace_set(&val, 536, 45);
asserteq(l2_vm_namespace_get(&val, 100), 400);
asserteq(l2_vm_namespace_get(&val, 536), 45);
asserteq(l2_vm_namespace_get(&vm, &val, 100), 400);
asserteq(l2_vm_namespace_get(&vm, &val, 536), 45);
}

it("handles a whole bunch of values") {
for (int i = 1; i < 500; ++i) {
l2_vm_namespace_set(&val, i, i + 50);
asserteq(l2_vm_namespace_get(&val, i), i + 50);
asserteq(l2_vm_namespace_get(&vm, &val, i), i + 50);
}

for (int i = 1; i < 500; ++i) {
asserteq(l2_vm_namespace_get(&val, i), i + 50);
asserteq(l2_vm_namespace_get(&vm, &val, i), i + 50);
}
}
}

Loading…
Cancel
Save