Commit e291a2c
Changed files (4)
src
02
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) $<
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);
+}
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);
src/02/04/tuple_test.c
@@ -0,0 +1,23 @@
+#include "tuple.h"
+#include <cgreen/cgreen.h>
+#include <string.h>
+
+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;
+}