Commit 4d6aa98

mo khan <mo.khan@gmail.com>
2020-09-07 21:38:18
Ensure that 128 vertices can be added to graph
1 parent c942a50
Changed files (3)
src/03/graph.c
@@ -1,5 +1,6 @@
 #include "graph.h"
 #include <stdlib.h>
+#include <stdio.h>
 
 Vertex *vertex_initialize(char label) {
   Vertex *item = malloc(sizeof(Vertex));
@@ -9,7 +10,7 @@ Vertex *vertex_initialize(char label) {
 
 Graph *graph_initialize(void) {
   Graph *item = malloc(sizeof(Graph));
-  for (int i = 0; i < 256; ++i)
+  for (int i = 0; i < 128; ++i)
     item->vertices[i] = NULL;
   return item;
 }
src/03/graph.h
@@ -3,7 +3,7 @@ typedef struct {
 } Vertex;
 
 typedef struct {
-  Vertex *vertices[256];
+  Vertex *vertices[128];
 } Graph;
 
 Graph *graph_initialize(void);
src/03/graph_test.c
@@ -6,10 +6,12 @@ Ensure(three_equals_three) {
   assert_that(3, is_equal_to(3));
 }
 
-Ensure(initialize_returns_a_new_vertex) {
+Ensure(initialize_returns_a_new_graph) {
   Graph *graph = graph_initialize();
 
   assert_that(graph, is_not_equal_to(NULL));
+  for (int i = 0; i < 128; ++i)
+    assert_that(graph->vertices[i], is_equal_to(NULL));
 }
 
 Ensure(add_vertex_returns_a_new_vertex) {
@@ -21,14 +23,25 @@ Ensure(add_vertex_returns_a_new_vertex) {
   assert_that(graph->vertices[(int)label], is_equal_to(a));
 }
 
+Ensure(add_vertex_adds_max_number_of_verticies_to_graph) {
+  Graph *graph = graph_initialize();
+
+  for (int i = 0; i < 128; ++i) {
+    Vertex *item = graph_add_vertex(graph, (char)i);
+    assert_that(item, is_not_equal_to(NULL));
+    assert_that(graph->vertices[i], is_equal_to(item));
+  }
+}
+
 TestSuite *graph_tests() {
   TestSuite *x = create_test_suite();
 
   add_test(x, three_equals_three);
 
-  add_test(x, initialize_returns_a_new_vertex);
+  add_test(x, initialize_returns_a_new_graph);
 
   add_test(x, add_vertex_returns_a_new_vertex);
+  add_test(x, add_vertex_adds_max_number_of_verticies_to_graph);
 
   return x;
 }