85TEST(OrderTest, copy_order) {
86 auto numberOfStates = 7;
96 auto matrix = matrixBuilder.
build();
102 order.addToNode(4, order.getNode(2));
103 order.addBetween(5, order.getNode(0), order.getNode(3));
104 order.addBetween(6, order.getNode(5), order.getNode(3));
138 order.addRelationNodes(order.getNode(6), order.getNode(4));
195 auto numberOfStates = 7;
205 auto matrix = matrixBuilder.
build();
211 order.addToNode(4, order.getNode(2));
212 order.addBetween(5, order.getNode(0), order.getNode(3));
213 order.addBetween(6, order.getNode(5), order.getNode(3));
215 std::vector<uint_fast64_t> statesToSort = std::vector<uint_fast64_t>{0, 1, 5, 6};
216 auto sortedStates = order.sortStates(&statesToSort);
217 EXPECT_EQ(4ul, sortedStates.size());
219 auto itr = sortedStates.begin();
220 EXPECT_EQ(0ul, *itr);
221 EXPECT_EQ(5ul, *(++itr));
222 EXPECT_EQ(6ul, *(++itr));
223 EXPECT_EQ(1ul, *(++itr));
225 statesToSort = std::vector<uint_fast64_t>{0, 1, 5, 6, 2};
226 sortedStates = order.sortStates(&statesToSort);
227 EXPECT_EQ(5ul, sortedStates.size());
229 itr = sortedStates.begin();
230 EXPECT_EQ(0ul, *itr);
231 EXPECT_EQ(5ul, *(++itr));
232 EXPECT_EQ(6ul, *(++itr));
233 EXPECT_EQ(1ul, *(++itr));
234 EXPECT_EQ(7ul, *(++itr));
236 statesToSort = std::vector<uint_fast64_t>{0, 2, 1, 5, 6};
237 sortedStates = order.sortStates(&statesToSort);
238 EXPECT_EQ(5ul, sortedStates.size());
240 itr = sortedStates.begin();
241 EXPECT_EQ(0ul, *itr);
242 EXPECT_EQ(2ul, *(++itr));
243 EXPECT_EQ(1ul, *(++itr));
244 EXPECT_EQ(7ul, *(++itr));
245 EXPECT_EQ(7ul, *(++itr));