aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_json.c224
-rw-r--r--tests/test_json/test_json_backspaces.json1
-rw-r--r--tests/test_json/test_json_complex_multiline.json24
-rw-r--r--tests/test_json/test_json_multiline.json5
-rw-r--r--tests/test_string.c41
-rw-r--r--tests/test_time.c13
-rw-r--r--tests/test_vec.c88
7 files changed, 0 insertions, 396 deletions
diff --git a/tests/test_json.c b/tests/test_json.c
deleted file mode 100644
index 921de64..0000000
--- a/tests/test_json.c
+++ /dev/null
@@ -1,224 +0,0 @@
-#include "../include/json.h"
-#include "../include/testing.h"
-
-#define JSON_parse_raw(a, s) JSON_parse(a, s, lengthof(s));
-
-i32 test_json_integer() {
- Arena perm = Arena_new(128e3);
-
- JSON json_int = JSON_parse_raw(&perm, "123");
-
- t_assert_equal(json_int.as.integer, 123);
- t_assert_equal(Arena_get_used(perm), 0);
- return 0;
-}
-
-i32 test_json_int_array() {
- Arena perm = Arena_new(128e3);
-
- JSON json_int_array = JSON_parse_raw(&perm, "[1,2,3]");
-
- t_assert_equal(json_int_array.type, JSON_ARRAY);
- t_assert_equal(json_int_array.as.array.len, 3);
- int ints[3];
- int sum = 0;
- for (int i = 0; i < json_int_array.as.array.len; i++) {
- JSON *item = Vec_get(json_int_array.as.array, JSON, i);
- ints[i] = item->as.integer;
- sum += item->as.integer;
- }
- t_assert_equal(ints[0], 1);
- t_assert_equal(ints[1], 2);
- t_assert_equal(ints[2], 3);
- t_assert_equal(sum, 6);
- t_assert_equal(Arena_get_used(perm), 576);
-
- return 0;
-}
-
-i32 test_json_empty_array() {
- Arena perm = Arena_new(128e3);
-
- JSON json_empty_array = JSON_parse_raw(&perm, "[]");
-
- t_assert_equal(json_empty_array.as.array.len, 0);
- t_assert_equal(Arena_get_used(perm), 0); // TODO: weird
-
- return 0;
-}
-
-i32 test_json_nested_array() {
- Arena perm = Arena_new(128e3);
-
- JSON doc = JSON_parse_raw(&perm, "[[1,\"abc\"]]");
-
- JSON sub_array = *Vec_get(doc.as.array, JSON, 0);
- JSON val_1 = *Vec_get(sub_array.as.array, JSON, 0);
- t_assert_equal(val_1.as.integer, 1);
- JSON val_2 = *Vec_get(sub_array.as.array, JSON, 1);
- t_assert_strequal(val_2.as.string, S("abc"));
- t_assert_equal(Arena_get_used(perm), 1152);
-
- return 0;
-}
-
-i32 test_json_string() {
- Arena perm = Arena_new(128e3);
-
- JSON js = JSON_parse_raw(&perm, "\"abc\"");
-
- t_assert_strequal(js.as.string, S("abc"));
- t_assert_equal(Arena_get_used(perm), 0);
-
- return 0;
-}
-
-i32 test_json_empty_object() {
- Arena perm = Arena_new(128e3);
-
- JSON doc = JSON_parse_raw(&perm, "{}");
-
- t_assert_equal(doc.as.object.len, 0);
- t_assert_equal(Arena_get_used(perm), 672);
-
- return 0;
-}
-
-i32 test_json_object() {
- Arena perm = Arena_new(128e3);
-
- JSON doc = JSON_parse_raw(&perm, "{\"key\": \"value\"}");
-
- t_assert_equal(doc.as.object.len, 1);
- StrView key = *Vec_get(doc.as.object.keys, StrView, 0);
- t_assert_strequal(key, S("key"));
- JSON value = *JSONObject_get(doc.as.object, S("key"));
- t_assert_strequal(value.as.string, S("value"));
- t_assert_equal(Arena_get_used(perm), 672);
-
- return 0;
-}
-
-i32 test_json_boolean() {
- Arena perm = Arena_new(128e3);
-
- JSON doc = JSON_parse_raw(&perm, "{\"a\": true, \"b\": false}");
-
- JSON a = *JSONObject_get(doc.as.object, S("a"));
- t_assert_equal(a.as.boolean, true);
- JSON b = *JSONObject_get(doc.as.object, S("b"));
- t_assert_equal(b.as.boolean, false);
- t_assert_equal(Arena_get_used(perm), 672);
-
- return 0;
-}
-
-i32 test_json_float() {
- Arena perm = Arena_new(128e3);
-
- JSON doc = JSON_parse_raw(&perm, "[1.2, 2.3]");
- t_assert_equal(doc.as.array.len, 2);
- JSON first = *Vec_get(doc.as.array, JSON, 0);
- t_assert_fequal(first.as.floating, 1.2);
- JSON second = *Vec_get(doc.as.array, JSON, 1);
- t_assert_fequal(second.as.floating, 2.3);
- t_assert_equal(Arena_get_used(perm), 576);
-
- return 0;
-}
-
-i32 test_json_null() {
- Arena perm = Arena_new(128e3);
-
- JSON doc = JSON_parse_raw(&perm, "[null]");
- t_assert_equal(doc.as.array.len, 1);
- JSON first = *Vec_get(doc.as.array, JSON, 0);
- t_assert_equal(first.type, JSON_NULL);
- t_assert_equal(Arena_get_used(perm), 576);
-
- return 0;
-}
-
-i32 test_json_long_spaces() {
- Arena perm = Arena_new(128e3);
- JSON doc = JSON_parse_raw(
- &perm, "{\t \t \t \t \t }");
-
- t_assert_equal(doc.as.object.len, 0);
-
- return 0;
-}
-
-i32 test_json_multiline() {
- Arena perm = Arena_new(128e3);
- MemoryFile file =
- load_file(&perm, "tests/test_json/test_json_multiline.json");
- JSON doc = JSON_parse(&perm, file.content, file.size);
- JSON target_size_mb = *JSONObject_get(doc.as.object, S("target_size_mb"));
- t_assert_equal(target_size_mb.as.integer, 1);
- JSON generated_at = *JSONObject_get(doc.as.object, S("generated_at"));
- t_assert_strequal(generated_at.as.string, S("2025-07-22T10:36:30.974926"));
-
- return 0;
-}
-
-i32 test_json_nested_object() {
- Arena perm = Arena_new(128e3);
-
- JSON doc = JSON_parse_raw(&perm, "{\"1\":{\"2\":{}}}");
-
- JSON lvl_1 = *JSONObject_get(doc.as.object, S("1"));
- t_assert_equal(lvl_1.type, JSON_OBJECT);
- JSON lvl_2 = *JSONObject_get(lvl_1.as.object, S("2"));
- t_assert_equal(lvl_2.type, JSON_OBJECT);
- return 0;
-}
-
-i32 test_json_array_in_object() {
- Arena perm = Arena_new(128e3);
- JSON doc = JSON_parse_raw(&perm, "{\"tags\": [\"TWvZi0\",\"pM0TPv9X\"]}");
-
- JSON tags = *JSONObject_get(doc.as.object, S("tags"));
- t_assert_equal(tags.type, JSON_ARRAY);
- t_assert_equal(tags.as.array.len, 2);
-
- return 0;
-}
-
-i32 test_json_complex_multiline() {
- Arena perm = Arena_new(128e3);
- MemoryFile file =
- load_file(&perm, "tests/test_json/test_json_complex_multiline.json");
- JSON doc = JSON_parse(&perm, file.content, file.size);
-
- JSON id = *JSONObject_get(doc.as.object, S("id"));
- t_assert_equal(id.as.integer, 819228);
- JSON metadata = *JSONObject_get(doc.as.object, S("metadata"));
- JSON preferences = *JSONObject_get(metadata.as.object, S("preferences"));
- JSON theme = *JSONObject_get(preferences.as.object, S("theme"));
- t_assert_strequal(theme.as.string, S("auto"));
-
- return 0;
-}
-
-i32 test_negative_numbers() {
- Arena perm = Arena_new(128e3);
- JSON doc = JSON_parse_raw(&perm, "[-1, -2.5]");
-
- JSON integer = *Vec_get(doc.as.array, JSON, 0);
- t_assert_equal(integer.as.integer, -1);
- JSON floating = *Vec_get(doc.as.array, JSON, 1);
- t_assert_fequal(floating.as.floating, -2.5);
-
- return 0;
-}
-
-i32 test_json_backspaces() {
- Arena perm = Arena_new(128e3);
- MemoryFile file =
- load_file(&perm, "tests/test_json/test_json_backspaces.json");
- JSON doc = JSON_parse(&perm, file.content, file.size);
-
- t_assert_strequal(doc.as.string, S("weird text\\"));
- return 0;
-}
diff --git a/tests/test_json/test_json_backspaces.json b/tests/test_json/test_json_backspaces.json
deleted file mode 100644
index ceb65d6..0000000
--- a/tests/test_json/test_json_backspaces.json
+++ /dev/null
@@ -1 +0,0 @@
-"weird text\\"
diff --git a/tests/test_json/test_json_complex_multiline.json b/tests/test_json/test_json_complex_multiline.json
deleted file mode 100644
index a0cfc9b..0000000
--- a/tests/test_json/test_json_complex_multiline.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "id": 819228,
- "username": "rCrRv4PRnUNuAy",
- "email": "xzbwrzj@zwod.com",
- "first_name": "4WH7g7PsOEm5",
- "last_name": "6ulndxUgjbIayl",
- "age": 30,
- "phone": "+1-529-712-3931",
- "is_active": false,
- "balance": 9347.49,
- "tags": [
- "TWvZi0",
- "pM0TPv9X"
- ],
- "metadata": {
- "last_login": "2024-06-13T21:22:32Z",
- "login_count": 245,
- "preferences": {
- "theme": "auto",
- "notifications": true,
- "language": "en"
- }
- }
-}
diff --git a/tests/test_json/test_json_multiline.json b/tests/test_json/test_json_multiline.json
deleted file mode 100644
index 7cb5f4c..0000000
--- a/tests/test_json/test_json_multiline.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "generated_at": "2025-07-22T10:36:30.974926",
- "target_size_mb": 1,
- "generator_version": "1.0"
-}
diff --git a/tests/test_string.c b/tests/test_string.c
deleted file mode 100644
index 297e294..0000000
--- a/tests/test_string.c
+++ /dev/null
@@ -1,41 +0,0 @@
-#include "../include/string.h"
-#include "../include/testing.h"
-#include "../include/types.h"
-#include <stdio.h>
-
-i32 test_string_literal_equality() {
- t_assert_strequal(S("Bonjour"), S("Bonjour"));
- return 0;
-}
-
-i32 test_string_copy() {
- Arena perm = Arena_new(128e3);
- Str src = S("Hello");
-
- Str cpy = Str_copy(&perm, src.data, src.len);
-
- t_assert_strequal(src, cpy);
- t_assert_equal(Arena_get_used(perm), 5);
-
- return 0;
-}
-
-i32 test_fast_string() {
- bytex32 quote_mask = _mm256_set1_epi8('"');
- byte *s = malloc(32 * sizeof(byte));
- s = "abcdefghijklmnopqrstuvwxyzabcdef";
-
- bytex32 chunk = _mm256_loadu_si256((bytex32 *)s);
- bytex32 cmp = _mm256_cmpeq_epi8(chunk, quote_mask);
- i32 mask = _mm256_movemask_epi8(cmp);
- t_assert_equal(_mm_popcnt_u32(mask), 0);
-
- s = "abcdefghijklm\"nopqrstuvwxyzabcde";
-
- chunk = _mm256_loadu_si256((bytex32 *)s);
- cmp = _mm256_cmpeq_epi8(chunk, quote_mask);
- mask = _mm256_movemask_epi8(cmp);
- t_assert_equal(_mm_popcnt_u32(mask), 1);
-
- return 0;
-}
diff --git a/tests/test_time.c b/tests/test_time.c
deleted file mode 100644
index 3ab4d3e..0000000
--- a/tests/test_time.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "../include/testing.h"
-#include "../include/time.h"
-#include "../include/types.h"
-
-i32 test_time_diff() {
- Time start = Time_get();
- Time end = Time_get();
-
- Duration diff = Time_diff(end, start);
- t_assert_equal(diff.s, 0);
-
- return 0;
-}
diff --git a/tests/test_vec.c b/tests/test_vec.c
deleted file mode 100644
index 502335b..0000000
--- a/tests/test_vec.c
+++ /dev/null
@@ -1,88 +0,0 @@
-#include "../include/testing.h"
-#include "../include/vec.h"
-
-typedef struct {
- i32 x;
- i32 y;
-} Point;
-
-i32 test_int_vec() {
- Arena perm = Arena_new(128e3);
-
- Vec vec = Vec_new(&perm, i32, 2);
- i32 *tmp = new(&perm, i32, 1);
- *tmp = 1;
- Vec_push(&perm, &vec, tmp);
- *tmp = 2;
- Vec_push(&perm, &vec, tmp);
-
- t_assert_equal(*Vec_get(vec, i32, 0), 1);
- t_assert_equal(*Vec_get(vec, i32, 1), 2);
- t_assert_equal(vec.cap, 2);
-
- *tmp = 3;
- Vec_push(&perm, &vec, tmp);
-
- t_assert_equal(*Vec_get(vec, i32, 2), 3);
- t_assert_equal(vec.cap, 4);
-
- return 0;
-}
-
-i32 test_vec_push() {
- Arena perm = Arena_new(128e3);
- Vec v = Vec_new(&perm, i32, 4);
-
- i32 vals[] = {10, 20, 30};
- for (i32 i = 0; i < 3; i++) Vec_push(&perm, &v, &vals[i]);
-
- t_assert_equal(v.len, 3);
- t_assert_equal(*Vec_get(v, i32, 0), 10);
- t_assert_equal(*Vec_get(v, i32, 1), 20);
- t_assert_equal(*Vec_get(v, i32, 2), 30);
- t_assert_equal(Arena_get_used(perm), v.cap * sizeof(i32));
-
- return 0;
-}
-
-i32 test_vec_grow() {
- Arena perm = Arena_new(128e3);
- Vec v = Vec_new(&perm, i32, 2);
-
- for (i32 i = 0; i < 8; i++) Vec_push(&perm, &v, &i);
-
- t_assert_equal(v.len, 8);
- t_assert_equal(Arena_get_used(perm), sizeof(i32) * (2 + 4 + 8));
-
- return 0;
-}
-
-i32 test_vec_struct() {
- Arena perm = Arena_new(128e3);
- Vec v = Vec_new(&perm, Point, 2);
-
- Point p1 = {1, 2}, p2 = {3, 4};
- Vec_push(&perm, &v, &p1);
- Vec_push(&perm, &v, &p2);
-
- Point *r0 = Vec_get(v, Point, 0);
- Point *r1 = Vec_get(v, Point, 1);
- t_assert_equal(r0->x, 1);
- t_assert_equal(r0->y, 2);
- t_assert_equal(r1->x, 3);
- t_assert_equal(r1->y, 4);
- t_assert_equal(Arena_get_used(perm), 16);
-
- return 0;
-}
-
-i32 test_vec_initial_len() {
- Arena perm = Arena_new(128e3);
- Vec v = Vec_new(&perm, i32, 4);
-
- t_assert_equal(v.len, 0);
- t_assert_equal(v.cap, 4);
- t_assert_equal(Arena_get_used(perm), 16);
-
- return 0;
-}