You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

namespace.t.c 879B

3 years ago
1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "vm/vm.h"
  2. #include <snow/snow.h>
  3. describe(l2_vm_namespace) {
  4. struct l2_vm_value val = {0};
  5. after_each() {
  6. free(val.data);
  7. val.data = NULL;
  8. }
  9. test("basic functionality") {
  10. l2_vm_namespace_set(&val, 100, 50);
  11. l2_vm_namespace_set(&val, 30, 600);
  12. asserteq(l2_vm_namespace_get(&val, 100), 50);
  13. asserteq(l2_vm_namespace_get(&val, 30), 600);
  14. }
  15. it("handles duplicates") {
  16. l2_vm_namespace_set(&val, 536, 600);
  17. l2_vm_namespace_set(&val, 100, 400);
  18. l2_vm_namespace_set(&val, 536, 45);
  19. asserteq(l2_vm_namespace_get(&val, 100), 400);
  20. asserteq(l2_vm_namespace_get(&val, 536), 45);
  21. }
  22. it("handles a whole bunch of values") {
  23. for (int i = 1; i < 500; ++i) {
  24. l2_vm_namespace_set(&val, i, i + 50);
  25. asserteq(l2_vm_namespace_get(&val, i), i + 50);
  26. }
  27. for (int i = 1; i < 500; ++i) {
  28. asserteq(l2_vm_namespace_get(&val, i), i + 50);
  29. }
  30. }
  31. }