79TEST(OrderTest, copy_order) {
80 auto numberOfStates = 7;
90 auto matrix = matrixBuilder.
build();
96 order.addToNode(4, order.getNode(2));
97 order.addBetween(5, order.getNode(0), order.getNode(3));
98 order.addBetween(6, order.getNode(5), order.getNode(3));
132 order.addRelationNodes(order.getNode(6), order.getNode(4));
189 auto numberOfStates = 7;
199 auto matrix = matrixBuilder.
build();
205 order.addToNode(4, order.getNode(2));
206 order.addBetween(5, order.getNode(0), order.getNode(3));
207 order.addBetween(6, order.getNode(5), order.getNode(3));
209 std::vector<uint_fast64_t> statesToSort = std::vector<uint_fast64_t>{0, 1, 5, 6};
210 auto sortedStates = order.sortStates(&statesToSort);
211 EXPECT_EQ(4ul, sortedStates.size());
213 auto itr = sortedStates.begin();
214 EXPECT_EQ(0ul, *itr);
215 EXPECT_EQ(5ul, *(++itr));
216 EXPECT_EQ(6ul, *(++itr));
217 EXPECT_EQ(1ul, *(++itr));
219 statesToSort = std::vector<uint_fast64_t>{0, 1, 5, 6, 2};
220 sortedStates = order.sortStates(&statesToSort);
221 EXPECT_EQ(5ul, sortedStates.size());
223 itr = sortedStates.begin();
224 EXPECT_EQ(0ul, *itr);
225 EXPECT_EQ(5ul, *(++itr));
226 EXPECT_EQ(6ul, *(++itr));
227 EXPECT_EQ(1ul, *(++itr));
228 EXPECT_EQ(7ul, *(++itr));
230 statesToSort = std::vector<uint_fast64_t>{0, 2, 1, 5, 6};
231 sortedStates = order.sortStates(&statesToSort);
232 EXPECT_EQ(5ul, sortedStates.size());
234 itr = sortedStates.begin();
235 EXPECT_EQ(0ul, *itr);
236 EXPECT_EQ(2ul, *(++itr));
237 EXPECT_EQ(1ul, *(++itr));
238 EXPECT_EQ(7ul, *(++itr));
239 EXPECT_EQ(7ul, *(++itr));