Sequoia
Loading...
Searching...
No Matches
DynamicGraphTraversalsTest.hpp
Go to the documentation of this file.
1
2// Copyright Oliver J. Rosten 2019. //
3// Distributed under the GNU GENERAL PUBLIC LICENSE, Version 3.0. //
4// (See accompanying file LICENSE.md or copy at //
5// https://www.gnu.org/licenses/gpl-3.0.en.html) //
7
8#pragma once
9
13
15
16namespace sequoia::testing
17{
19 {
20 public:
21 using performance_test::performance_test;
22
23 [[nodiscard]]
24 std::filesystem::path source_file() const;
25
26 void run_tests();
27 private:
28 template<class, class, concrete_test>
29 friend class graph_test_helper;
30
31 void test_prs_details();
32
33 template
34 <
35 maths::graph_flavour GraphFlavour,
36 class EdgeWeight,
37 class NodeWeight,
38 class EdgeStorageConfig,
39 class NodeWeightStorage
40 >
41 void execute_operations();
42
43 template<maths::dynamic_network Graph, class Traverser>
44 void tracker_test();
45
46 template<maths::dynamic_network Graph>
47 void test_weighted_BFS_tasks();
48
49 template<maths::dynamic_network Graph>
50 void test_priority_traversal();
51
52 template<maths::dynamic_network G, class MessageMaker>
53 void test_square_graph(const G& g, std::size_t start, MessageMaker messageMaker, bfs_type);
54
55 template<maths::dynamic_network G, class MessageMaker>
56 void test_square_graph(const G& g, std::size_t start, MessageMaker messageMaker, dfs_type);
57
58 template<maths::dynamic_network G, class MessageMaker>
59 void test_square_graph(const G& g, const std::size_t start, MessageMaker messageMaker, pdfs_type);
60
61 //=================== For weighted breadth_first =================//
62
63 template<maths::dynamic_network Graph>
64 void test_node_and_first_edge_traversal();
65
66 template<maths::dynamic_network Graph>
67 void test_edge_second_traversal();
68 };
69}
Extension of the testing framework for perfomance testing.
class template from which all concrete tests should derive
Definition: PerformanceTestCore.hpp:261
Definition: DynamicGraphTestingUtilities.hpp:115
Definition: DynamicGraphTraversalsTest.hpp:19
Definition: GraphTraversalDetails.hpp:34