summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-06-14 21:44:44 -0600
committermo khan <mo.khan@gmail.com>2020-06-14 21:44:44 -0600
commitfd9bfc42af1ae0a070558524d7e384eede8d9083 (patch)
tree8dfeb1325db8779e01354e3991de93fd71fd0f30
parenta69ec51d000e090fa185f6035864b5f79a5fb98b (diff)
Add another test
-rw-r--r--Makefile4
-rw-r--r--words.c6
-rw-r--r--words_test.c9
3 files changed, 16 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 1368da2..452b30d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,10 @@
CC=gcc
+run : main
+ ./main
+
main : main.o words_test.o words.o
$(CC) main.o words_test.o words.o -lcgreen -o main
- ./main
main.o : main.c
$(CC) -c main.c
diff --git a/words.c b/words.c
index 4d72a03..b9c236a 100644
--- a/words.c
+++ b/words.c
@@ -1,9 +1,11 @@
#include <string.h>
int split_words(char *sentence) {
- int i, count = 1;
- for (i = 0; i < strlen(sentence); i++) {
+ int i, count = 1, length = strlen(sentence);
+
+ for (i = 0; i < length; i++) {
if (sentence[i] == ' ') {
+ sentence[i] = '\0';
count++;
}
}
diff --git a/words_test.c b/words_test.c
index 0979409..651ee6f 100644
--- a/words_test.c
+++ b/words_test.c
@@ -14,8 +14,17 @@ Ensure(Words, returns_word_count) {
free(sentence);
}
+Ensure(Words, converts_spaces_to_zeroes) {
+ char *sentence = strdup("Birds of a feather");
+ split_words(sentence);
+ int comparison = memcmp("Birds\0of\0a\0feather", sentence, strlen(sentence));
+ assert_that(comparison, is_equal_to(0));
+ free(sentence);
+}
+
TestSuite *words_tests() {
TestSuite *suite = create_test_suite();
add_test_with_context(suite, Words, returns_word_count);
+ add_test_with_context(suite, Words, converts_spaces_to_zeroes);
return suite;
}