From b7d1b0175926b57179997c69b2f86e55bbbbd4df Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 27 Aug 2020 13:06:52 -0600 Subject: Start to create an AVL tree --- src/03/Makefile | 37 +++++++++++++++++++++++++++++++++++++ src/03/avl_tree.c | 0 src/03/avl_tree.h | 0 src/03/avl_tree_test.c | 19 +++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 src/03/Makefile create mode 100644 src/03/avl_tree.c create mode 100644 src/03/avl_tree.h create mode 100644 src/03/avl_tree_test.c (limited to 'src') diff --git a/src/03/Makefile b/src/03/Makefile new file mode 100644 index 0000000..e87119a --- /dev/null +++ b/src/03/Makefile @@ -0,0 +1,37 @@ +#!/usr/bin/make -f +SHELL=/bin/sh + +CC=clang +TEST_LIBS = -lcgreen + +BUILDDIR := build +OBJS := $(addprefix $(BUILDDIR)/,avl_tree.o) +TEST_OBJS := $(addprefix $(BUILDDIR)/,avl_tree_test.o) + +$(BUILDDIR)/%.o : %.c + $(COMPILE.c) $(OUTPUT_OPTION) $< + +.PHONY: all +all: $(OBJS) $(BUILDDIR)/main.o + $(CC) $(OBJS) $(BUILDDIR)/main.o -o $(BUILDDIR)/program + +.PHONY: test +test: $(OBJS) $(TEST_OBJS) + $(CC) $(OBJS) $(TEST_OBJS) $(TEST_LIBS) -o $(BUILDDIR)/test + +$(OBJS): | $(BUILDDIR) + +$(TEST_OBJS): | $(BUILDDIR) + +$(BUILDDIR): + mkdir $(BUILDDIR) + +.PHONY: clean +clean: + rm -fr build + +run : all + ./build/program + +run_test : test + cgreen-runner -c -v $(BUILDDIR)/test diff --git a/src/03/avl_tree.c b/src/03/avl_tree.c new file mode 100644 index 0000000..e69de29 diff --git a/src/03/avl_tree.h b/src/03/avl_tree.h new file mode 100644 index 0000000..e69de29 diff --git a/src/03/avl_tree_test.c b/src/03/avl_tree_test.c new file mode 100644 index 0000000..75902d3 --- /dev/null +++ b/src/03/avl_tree_test.c @@ -0,0 +1,19 @@ +#include "avl_tree.h" +#include +#include + +Ensure(initialize_returns_new_tree) { + assert_that(NULL, is_equal_to(NULL)); +} + +TestSuite *avl_tree_tests() { + TestSuite *suite = create_test_suite(); + add_test(suite, initialize_returns_new_tree); + return suite; +} + +int main(int argc, char **argv) { + TestSuite *suite = create_test_suite(); + add_suite(suite, avl_tree_tests()); + return run_test_suite(suite, create_text_reporter()); +} -- cgit v1.2.3