Commit 6d195cd

mo khan <mo.khan@gmail.com>
2020-09-08 16:52:44
refactor: rename connected to has_edge
1 parent 81f845f
Changed files (3)
src/03/graph.c
@@ -25,6 +25,6 @@ void graph_add_edge(Graph *graph, Vertex *a, Vertex *b) {
   graph->edges[a->label][b->label] = true;
 }
 
-bool graph_connected(Graph *graph, Vertex *a, Vertex *b) {
-  return true;
+bool graph_has_edge(Graph *graph, Vertex *a, Vertex *b) {
+  return graph->edges[a->label][b->label];
 }
src/03/graph.h
@@ -12,4 +12,4 @@ typedef struct {
 Graph *graph_initialize(void);
 Vertex *graph_add_vertex(Graph *graph, char label);
 void graph_add_edge(Graph *graph, Vertex *a, Vertex *b);
-bool graph_connected(Graph *graph, Vertex *a, Vertex *b);
+bool graph_has_edge(Graph *graph, Vertex *a, Vertex *b);
src/03/graph_test.c
@@ -42,14 +42,25 @@ Ensure(add_edge_connects_two_vertices) {
   assert_that(graph->edges['b']['a'], is_equal_to(false));
 }
 
-Ensure(connected_returns_true) {
+Ensure(has_edge_returns_true) {
   Graph *graph = graph_initialize();
   Vertex *a = graph_add_vertex(graph, 'a');
   Vertex *b = graph_add_vertex(graph, 'b');
 
   graph_add_edge(graph, a, b);
 
-  assert_that(graph_connected(graph, a, b), is_equal_to(true));
+  assert_that(graph_has_edge(graph, a, b), is_equal_to(true));
+}
+
+Ensure(has_edge_returns_false) {
+  Graph *graph = graph_initialize();
+  Vertex *a = graph_add_vertex(graph, 'a');
+  Vertex *b = graph_add_vertex(graph, 'b');
+  Vertex *c = graph_add_vertex(graph, 'c');
+
+  graph_add_edge(graph, a, b);
+
+  assert_that(graph_has_edge(graph, a, c), is_equal_to(false));
 }
 
 TestSuite *graph_tests() {
@@ -58,7 +69,8 @@ TestSuite *graph_tests() {
   add_test(x, add_edge_connects_two_vertices);
   add_test(x, add_vertex_adds_max_number_of_verticies_to_graph);
   add_test(x, add_vertex_returns_a_new_vertex);
-  add_test(x, connected_returns_true);
+  add_test(x, has_edge_returns_true);
+  add_test(x, has_edge_returns_false);
   add_test(x, initialize_returns_a_new_graph);
 
   return x;