From e291a2c6b57af1889010529031e07d5236fc1570 Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 3 Aug 2020 13:52:16 -0600 Subject: Create tuple --- src/02/04/Makefile | 4 ++-- src/02/04/tuple.c | 15 +++++++++++++++ src/02/04/tuple.h | 7 +++++++ src/02/04/tuple_test.c | 23 +++++++++++++++++++++++ 4 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 src/02/04/tuple.c create mode 100644 src/02/04/tuple.h create mode 100644 src/02/04/tuple_test.c diff --git a/src/02/04/Makefile b/src/02/04/Makefile index a710855..30635fe 100644 --- a/src/02/04/Makefile +++ b/src/02/04/Makefile @@ -6,8 +6,8 @@ CFLAGS=-std=c99 TEST_LIBS = -lcgreen BUILDDIR := build -OBJS := $(addprefix $(BUILDDIR)/,hash.o list.o) -TEST_OBJS := $(addprefix $(BUILDDIR)/,hash_test.o list_test.o) +OBJS := $(addprefix $(BUILDDIR)/,hash.o list.o tuple.o) +TEST_OBJS := $(addprefix $(BUILDDIR)/,hash_test.o list_test.o tuple_test.o) $(BUILDDIR)/%.o : %.c $(COMPILE.c) $(OUTPUT_OPTION) $< diff --git a/src/02/04/tuple.c b/src/02/04/tuple.c new file mode 100644 index 0000000..4e27015 --- /dev/null +++ b/src/02/04/tuple.c @@ -0,0 +1,15 @@ +#include "stdlib.h" +#include "tuple.h" + +Tuple *tuple_initialize(int key, int value) +{ + Tuple *tuple = malloc(sizeof(Tuple)); + tuple->key = key; + tuple->value = value; + return tuple; +} + +void tuple_destroy(Tuple *tuple) +{ + return free(tuple); +} diff --git a/src/02/04/tuple.h b/src/02/04/tuple.h new file mode 100644 index 0000000..1926065 --- /dev/null +++ b/src/02/04/tuple.h @@ -0,0 +1,7 @@ +typedef struct { + int key; + int value; +} Tuple; + +Tuple *tuple_initialize(int key, int value); +void tuple_destroy(Tuple *tuple); diff --git a/src/02/04/tuple_test.c b/src/02/04/tuple_test.c new file mode 100644 index 0000000..88da4ba --- /dev/null +++ b/src/02/04/tuple_test.c @@ -0,0 +1,23 @@ +#include "tuple.h" +#include +#include + +Describe(Tuple); +BeforeEach(Tuple) {} +AfterEach(Tuple) {} + +Ensure(Tuple, when_initializing_a_tuple) { + Tuple *subject = tuple_initialize(21, 100); + + assert_that(subject->key, is_equal_to(21)); + assert_that(subject->value, is_equal_to(100)); + + tuple_destroy(subject); +} + +TestSuite *tuple_tests() { + TestSuite *suite = create_test_suite(); + + add_test_with_context(suite, Tuple, when_initializing_a_tuple); + return suite; +} -- cgit v1.2.3