3232
3333#include " phlex/core/framework_graph.hpp"
3434#include " phlex/model/data_cell_index.hpp"
35- #include " phlex/model/product_store .hpp"
35+ #include " test/layer_generator .hpp"
3636
3737#include " catch2/catch_test_macros.hpp"
38- #include " fmt/std.h"
39- #include " spdlog/spdlog.h"
4038
4139#include < atomic>
42- #include < ranges>
4340#include < string>
44- #include < vector>
4541
4642using namespace phlex ::experimental;
4743
@@ -50,40 +46,23 @@ namespace {
5046 unsigned int provide_number (data_cell_index const & index) { return index.number (); }
5147
5248 void add (std::atomic<unsigned int >& counter, unsigned int number) { counter += number; }
49+ }
5350
51+ TEST_CASE (" Different hierarchies used with fold" , " [graph]" )
52+ {
5453 // job -> run -> event layers
5554 constexpr auto index_limit = 2u ;
5655 constexpr auto number_limit = 5u ;
5756
58- // job -> event levels
57+ // job -> event layers
5958 constexpr auto top_level_event_limit = 10u ;
6059
61- void cells_to_process (framework_driver& driver)
62- {
63- auto job_index = data_cell_index::base_ptr ();
64- driver.yield (job_index);
65-
66- // job -> run -> event layers
67- for (unsigned i : std::views::iota (0u , index_limit)) {
68- auto run_index = job_index->make_child (i, " run" );
69- driver.yield (run_index);
70- for (unsigned j : std::views::iota (0u , number_limit)) {
71- auto event_index = run_index->make_child (j, " event" );
72- driver.yield (event_index);
73- }
74- }
60+ layer_generator gen;
61+ gen.add_layer (" run" , {" job" , index_limit});
62+ gen.add_layer (" event" , {" run" , number_limit});
63+ gen.add_layer (" event" , {" job" , top_level_event_limit});
7564
76- // job -> event layers
77- for (unsigned i : std::views::iota (0u , top_level_event_limit)) {
78- auto tp_event_index = job_index->make_child (i, " event" );
79- driver.yield (tp_event_index);
80- }
81- }
82- }
83-
84- TEST_CASE (" Different hierarchies used with fold" , " [graph]" )
85- {
86- framework_graph g{cells_to_process};
65+ framework_graph g{gen};
8766
8867 // Register provider
8968 g.provide (" provide_number" , provide_number, concurrency::unlimited)
0 commit comments