From ada10ada69419a06b0bdf4c1c15b76f042ff174f Mon Sep 17 00:00:00 2001 From: Shamy <110725453+shamykyzer@users.noreply.github.com> Date: Wed, 2 Jul 2025 08:03:45 +0300 Subject: [PATCH] Add basic test target and quadtree test --- Makefile | 15 ++++++++++++++- tests/test_quadtree.c | 21 +++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 tests/test_quadtree.c diff --git a/Makefile b/Makefile index 93fe440..91a45e4 100644 --- a/Makefile +++ b/Makefile @@ -21,5 +21,18 @@ src/shader_utils.o: src/shader_utils.c include/shader_utils.h src/controls.o: src/controls.c include/controls.h include/particle.h $(CC) $(CFLAGS) -c -o $@ $< +TEST_OBJ = tests/test_quadtree.o src/quadtree.o +TEST_BIN = tests/test_quadtree +TEST_LDFLAGS = -lm + +$(TEST_BIN): $(TEST_OBJ) + $(CC) -o $@ $(TEST_OBJ) $(TEST_LDFLAGS) + +tests/test_quadtree.o: tests/test_quadtree.c include/quadtree.h include/particle_struct.h + $(CC) $(CFLAGS) -c -o $@ $< + +test: $(TEST_BIN) + ./$(TEST_BIN) + clean: - rm -f src/*.o gravity_simulation \ No newline at end of file + rm -f src/*.o $(OBJ) gravity_simulation $(TEST_BIN) tests/*.o diff --git a/tests/test_quadtree.c b/tests/test_quadtree.c new file mode 100644 index 0000000..d44c991 --- /dev/null +++ b/tests/test_quadtree.c @@ -0,0 +1,21 @@ +#include "quadtree.h" +#include + +int main() { + QuadNode* root = createNode(0.0f, 0.0f, 1.0f, 1.0f); + if (!root) { + fprintf(stderr, "Failed to create root node\n"); + return 1; + } + if (root->minX != 0.0f || root->minY != 0.0f || root->maxX != 1.0f || root->maxY != 1.0f) { + fprintf(stderr, "Node bounds incorrect\n"); + return 1; + } + if (root->centerX != 0.5f || root->centerY != 0.5f) { + fprintf(stderr, "Node center incorrect\n"); + return 1; + } + freeQuadtree(root); + printf("test_quadtree passed\n"); + return 0; +}