#include #include #include "../src/algorithm.hpp" void setUp() { ; } void tearDown() { ; } Graph testGraph; void test_GraphReadsIn(void) { testGraph = ReadInGraph("test/input/graphPosLittle"); TEST_ASSERT_EQUAL_INT(10, testGraph.nodeCount); } void test_AllVerticesAdded(void) { for (int i = 0; i < 10; i++) { TEST_ASSERT_EQUAL_INT(i, testGraph.vertices.at(i).nodeNumber); } } void test_AllEdgesAdded(void) { // Edges for vertex 1 TEST_ASSERT_EQUAL_INT(7, testGraph.vertices.at(0).edges.at(0).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(2, testGraph.vertices.at(0).edges.at(1).destination->nodeNumber + 1); // Edges for vertex 2 TEST_ASSERT_EQUAL_INT(7, testGraph.vertices.at(1).edges.at(0).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(5, testGraph.vertices.at(1).edges.at(1).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(1, testGraph.vertices.at(1).edges.at(2).destination->nodeNumber + 1); // Edges for vertex 3 TEST_ASSERT_EQUAL_INT(6, testGraph.vertices.at(2).edges.at(0).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(1, testGraph.vertices.at(2).edges.at(1).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(5, testGraph.vertices.at(2).edges.at(2).destination->nodeNumber + 1); // Edges for vertex 4 TEST_ASSERT_EQUAL_INT(8, testGraph.vertices.at(3).edges.at(0).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(10, testGraph.vertices.at(3).edges.at(1).destination->nodeNumber + 1); // Edges for vertex 5 TEST_ASSERT_EQUAL_INT(3, testGraph.vertices.at(4).edges.at(0).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(8, testGraph.vertices.at(4).edges.at(1).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(7, testGraph.vertices.at(4).edges.at(2).destination->nodeNumber + 1); // Edges for vertex 6 TEST_ASSERT_EQUAL_INT(3, testGraph.vertices.at(5).edges.at(0).destination->nodeNumber + 1); // Edges for vertex 7 TEST_ASSERT_EQUAL_INT(2, testGraph.vertices.at(6).edges.at(0).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(9, testGraph.vertices.at(6).edges.at(1).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(1, testGraph.vertices.at(6).edges.at(2).destination->nodeNumber + 1); // Edges for vertex 8 TEST_ASSERT_EQUAL_INT(5, testGraph.vertices.at(7).edges.at(0).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(4, testGraph.vertices.at(7).edges.at(1).destination->nodeNumber + 1); // Edges for vertex 9 TEST_ASSERT_EQUAL_INT(6, testGraph.vertices.at(8).edges.at(0).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(10, testGraph.vertices.at(8).edges.at(1).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(7, testGraph.vertices.at(8).edges.at(2).destination->nodeNumber + 1); // Edges for vertex 10 TEST_ASSERT_EQUAL_INT(4, testGraph.vertices.at(9).edges.at(0).destination->nodeNumber + 1); TEST_ASSERT_EQUAL_INT(9, testGraph.vertices.at(9).edges.at(1).destination->nodeNumber + 1); } void test_BFS(void) { } void test_DFS(void) { testGraph = ReadInGraph("test/input/graphGenerated"); std::vector solution = CleanSolution(DFS(testGraph, 0, 9)); TEST_ASSERT_EQUAL_INT(9, solution.at(4)); TEST_ASSERT_EQUAL_INT(7, solution.at(3)); TEST_ASSERT_EQUAL_INT(3, solution.at(2)); TEST_ASSERT_EQUAL_INT(1, solution.at(1)); TEST_ASSERT_EQUAL_INT(0, solution.at(0)); } int main(void) { UNITY_BEGIN(); RUN_TEST(test_GraphReadsIn); RUN_TEST(test_AllVerticesAdded); RUN_TEST(test_AllEdgesAdded); RUN_TEST(test_DFS); return UNITY_END(); }