Browse Source

update tests

master
Martin Dørum 5 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



static struct l2_vm_value *var_lookup(const char *name) { static struct l2_vm_value *var_lookup(const char *name) {
l2_word atom_id = l2_strset_get(&gen.atomset, 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]; return &vm.values[id];
} }



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



#include <snow/snow.h> #include <snow/snow.h>


static struct l2_vm vm = {0};

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


test("basic functionality") { test("basic functionality") {
l2_vm_namespace_set(&val, 100, 50); l2_vm_namespace_set(&val, 100, 50);
l2_vm_namespace_set(&val, 30, 600); 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") { it("handles duplicates") {
l2_vm_namespace_set(&val, 536, 600); l2_vm_namespace_set(&val, 536, 600);
l2_vm_namespace_set(&val, 100, 400); l2_vm_namespace_set(&val, 100, 400);
l2_vm_namespace_set(&val, 536, 45); 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") { it("handles a whole bunch of values") {
for (int i = 1; i < 500; ++i) { for (int i = 1; i < 500; ++i) {
l2_vm_namespace_set(&val, i, i + 50); 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) { 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