86TEST(OrderTest, copy_order) {
87 auto numberOfStates = 7;
97 auto matrix = matrixBuilder.
build();
103 order.addToNode(4, order.getNode(2));
104 order.addBetween(5, order.getNode(0), order.getNode(3));
105 order.addBetween(6, order.getNode(5), order.getNode(3));
139 order.addRelationNodes(order.getNode(6), order.getNode(4));
196 auto numberOfStates = 7;
206 auto matrix = matrixBuilder.
build();
212 order.addToNode(4, order.getNode(2));
213 order.addBetween(5, order.getNode(0), order.getNode(3));
214 order.addBetween(6, order.getNode(5), order.getNode(3));
216 std::vector<uint_fast64_t> statesToSort = std::vector<uint_fast64_t>{0, 1, 5, 6};
217 auto sortedStates = order.sortStates(&statesToSort);
218 EXPECT_EQ(4ul, sortedStates.size());
220 auto itr = sortedStates.begin();
221 EXPECT_EQ(0ul, *itr);
222 EXPECT_EQ(5ul, *(++itr));
223 EXPECT_EQ(6ul, *(++itr));
224 EXPECT_EQ(1ul, *(++itr));
226 statesToSort = std::vector<uint_fast64_t>{0, 1, 5, 6, 2};
227 sortedStates = order.sortStates(&statesToSort);
228 EXPECT_EQ(5ul, sortedStates.size());
230 itr = sortedStates.begin();
231 EXPECT_EQ(0ul, *itr);
232 EXPECT_EQ(5ul, *(++itr));
233 EXPECT_EQ(6ul, *(++itr));
234 EXPECT_EQ(1ul, *(++itr));
235 EXPECT_EQ(7ul, *(++itr));
237 statesToSort = std::vector<uint_fast64_t>{0, 2, 1, 5, 6};
238 sortedStates = order.sortStates(&statesToSort);
239 EXPECT_EQ(5ul, sortedStates.size());
241 itr = sortedStates.begin();
242 EXPECT_EQ(0ul, *itr);
243 EXPECT_EQ(2ul, *(++itr));
244 EXPECT_EQ(1ul, *(++itr));
245 EXPECT_EQ(7ul, *(++itr));
246 EXPECT_EQ(7ul, *(++itr));