6 #include <gtest/gtest.h>
8 namespace etrobocon2018_test {
11 TEST(SelectorTest, getBlockPositionListTest)
14 std::vector<std::int8_t> expected{ { 0, 1, 2, 3 } };
19 ASSERT_EQ(expected, actual);
23 TEST(SelectorTest, searchRouteByExplorerTest)
26 std::vector<int> expected{ { 11, 7, 3, 2, 1, 5 } };
27 std::vector<std::int8_t> nodeHadBlockList{{6, 9, 10}};
33 for(
unsigned int i = 0; i < actual.size(); i++) {
34 EXPECT_EQ(actual[i], expected[i]);
37 ASSERT_EQ(expected.size(), actual.size());
41 TEST(SelectorTest, searchNode8Test)
44 std::vector<std::int8_t> blockList{ { 0, 1, 2, 8 } };
45 std::int8_t expected = 8;
50 ASSERT_EQ(expected, actual);
54 TEST(SelectorTest, searchNode9Test)
57 std::vector<std::int8_t> blockList{ { 0, 1, 2, 9 } };
58 std::int8_t expected = 9;
63 ASSERT_EQ(expected, actual);
67 TEST(SelectorTest, searchNode1Test)
70 std::vector<std::int8_t> blockList{ { 1, 2, 3, 7 } };
71 std::int8_t expected = 1;
76 ASSERT_EQ(expected, actual);
80 TEST(SelectorTest, searchNode10Test)
83 std::vector<std::int8_t> blockList{ { 0, 2, 10, 14 } };
84 std::int8_t expected = 10;
89 ASSERT_EQ(expected, actual);
93 TEST(SelectorTest, searchNode6Test)
96 std::vector<std::int8_t> blockList{ { 6, 7, 10, 11 } };
97 std::int8_t expected = 6;
103 ASSERT_EQ(expected, actual);
107 TEST(SelectorTest, searchNode0Test)
110 std::vector<std::int8_t> blockList{ { 0, 2, 3, 15 } };
111 std::int8_t expected = 0;
116 ASSERT_EQ(expected, actual);
120 TEST(SelectorTest, checkWhetherThereIsMovedBlock)
139 TEST(SelectorTest, checkNextOperationIsAllFalseInInitialStageTest)
149 TEST(SelectorTest, checkNextOperationIsAllFalseWithoutSetNextWhenNextIsSetTest)
170 TEST(SelectorTest, checkThereAreNotNodeInInitialRouteTest)
173 unsigned int expected = 0;
180 ASSERT_EQ(expected, actual.size());
184 TEST(SelectorTest, getSomeNodeInRouteWhenRouteIsSetTest)
187 std::vector<int> expectedList = { 0, 1, 2, 3, 7, 11, 15, 14, 13, 12, 8, 4, 5, 6, 10, 9 };
192 ASSERT_EQ(expectedList.size(), actual.size());
193 for(
unsigned int i = 0; i < actual.size(); i++) EXPECT_EQ(expectedList[i], actual[i]);
195 expectedList = { 8, 9, 10, 11 };
199 ASSERT_EQ(expectedList.size(), actual.size());
200 for(
unsigned int i = 0; i < actual.size(); i++) EXPECT_EQ(expectedList[i], actual[i]);
204 TEST(SelectorTest, getNextPositionInCenterIfColorSetInNodeIDTest)
209 ASSERT_EQ(10, actual);
212 ASSERT_EQ(6, actual);
215 ASSERT_EQ(9, actual);
218 ASSERT_EQ(5, actual);
221 ASSERT_EQ(-1, actual);
225 TEST(SelectorTest, checkPushingAndPoppingByPseudoStackTest)
234 ASSERT_EQ(30, actual);
236 ASSERT_EQ(20, actual);
241 ASSERT_EQ(40, actual);
243 ASSERT_EQ(10, actual);
247 TEST(SelectorTest, searchNodeInSenarioTest)
250 std::vector<std::int8_t> blockList{ { 8, 9, 11, 15 } };
256 ASSERT_EQ(8, actual8);
259 blockList = { 9, 10, 11, 15 };
263 ASSERT_EQ(9, actual9);
266 blockList = { 6, 10, 11, 15 };
270 ASSERT_EQ(11, actual11);
273 blockList = { 6, 9, 10, 15 };
277 ASSERT_EQ(15, actual15);
281 TEST(SelectorTest, searchRouteInSenarioTest)
284 std::vector<std::int8_t> blockList{ { 8, 9, 11, 15 } };
286 std::vector<int> expectedMovingToBlue = { 8 };
287 std::vector<int> expectedCarryingBlue = { 8, 12, 13, 14, 10 };
288 std::vector<int> expectedMovingToRed = { 14, 13, 9 };
289 std::vector<int> expectedCarryingRed = { 9, 5, 6 };
290 std::vector<int> expectedMovingToYellow = { 5, 1, 2, 3, 7, 11 };
291 std::vector<int> expectedCarryingYellow = { 11, 7, 3, 2, 1, 5, 9 };
292 std::vector<int> expectedMovingToGreen = { 5, 4, 8, 12, 13, 14, 15 };
293 std::vector<int> expectedCarryingGreen = { 15, 14, 13, 12, 8, 4, 5 };
294 std::vector<int> expectedMovingTo11 = { 4, 0, 1, 2, 3, 7, 11 };
302 ASSERT_EQ(expectedMovingToBlue.size(), actualMovingToBlue.size());
303 for(
unsigned int i = 0; i < actualMovingToBlue.size(); i++)
304 EXPECT_EQ(actualMovingToBlue[i], expectedMovingToBlue[i]);
319 ASSERT_EQ(expectedCarryingBlue.size(), actualCarryingBlue.size());
320 for(
unsigned int i = 0; i < actualCarryingBlue.size(); i++)
321 EXPECT_EQ(actualCarryingBlue[i], expectedCarryingBlue[i]);
336 ASSERT_EQ(expectedMovingToRed.size(), actualMovingToRed.size());
337 for(
unsigned int i = 0; i < actualMovingToRed.size(); i++)
338 EXPECT_EQ(actualMovingToRed[i], expectedMovingToRed[i]);
353 ASSERT_EQ(expectedCarryingRed.size(), actualCarryingRed.size());
354 for(
unsigned int i = 0; i < actualCarryingRed.size(); i++)
355 EXPECT_EQ(actualCarryingRed[i], expectedCarryingRed[i]);
370 ASSERT_EQ(expectedMovingToYellow.size(), actualMovingToYellow.size());
371 for(
unsigned int i = 0; i < actualMovingToYellow.size(); i++)
372 EXPECT_EQ(actualMovingToYellow[i], expectedMovingToYellow[i]);
387 ASSERT_EQ(expectedCarryingYellow.size(), actualCarryingYellow.size());
388 for(
unsigned int i = 0; i < actualCarryingYellow.size(); i++)
389 EXPECT_EQ(actualCarryingYellow[i], expectedCarryingYellow[i]);
404 ASSERT_EQ(expectedMovingToGreen.size(), actualMovingToGreen.size());
405 for(
unsigned int i = 0; i < actualMovingToGreen.size(); i++)
406 EXPECT_EQ(actualMovingToGreen[i], expectedMovingToGreen[i]);
421 ASSERT_EQ(expectedCarryingGreen.size(), actualCarryingGreen.size());
422 for(
unsigned int i = 0; i < actualCarryingGreen.size(); i++)
423 EXPECT_EQ(actualCarryingGreen[i], expectedCarryingGreen[i]);
438 ASSERT_EQ(expectedMovingTo11.size(), actualMovingTo11.size());
439 for(
unsigned int i = 0; i < actualMovingTo11.size(); i++)
440 EXPECT_EQ(actualMovingTo11[i], expectedMovingTo11[i]);
453 TEST(SelectorTest, searchRouteWhenPathBlocked)
456 std::vector<std::int8_t> blockList{ { 4, 8, 9, 13 } };
459 std::vector<int> expectedEvacuatingBlue = { 8, 12 };
460 std::vector<int> expectedMovingToRed = { 8, 9 };
461 std::vector<int> expectedCarryingRed = { 9, 10, 6 };
462 std::vector<int> expectedReturningToBlue = { 10, 9, 8, 12 };
463 std::vector<int> expectedCarryingBlue = { 12, 8, 9, 10 };
464 std::vector<int> expectedMovingToYellow = { 9, 13 };
465 std::vector<int> expectedCarryingYellow = { 13, 9 };
466 std::vector<int> expectedMovingToGreen = { 13, 12, 8, 4 };
467 std::vector<int> expectedCarryingGreen = { 4, 5 };
468 std::vector<int> expectedMovingTo11 = { 4, 0, 1, 2, 3, 7, 11 };
481 ASSERT_EQ(expectedEvacuatingBlue.size(), actualEvacuatingBlue.size());
482 for(
unsigned int i = 0; i < actualEvacuatingBlue.size(); i++)
483 EXPECT_EQ(actualEvacuatingBlue[i], expectedEvacuatingBlue[i]);
498 ASSERT_EQ(expectedMovingToRed.size(), actualMovingToRed.size());
499 for(
unsigned int i = 0; i < actualMovingToRed.size(); i++)
500 EXPECT_EQ(actualMovingToRed[i], expectedMovingToRed[i]);
515 ASSERT_EQ(expectedCarryingRed.size(), actualCarryingRed.size());
516 for(
unsigned int i = 0; i < actualCarryingRed.size(); i++)
517 EXPECT_EQ(actualCarryingRed[i], expectedCarryingRed[i]);
532 ASSERT_EQ(expectedReturningToBlue.size(), actualReturningToBlue.size());
533 for(
unsigned int i = 0; i < actualReturningToBlue.size(); i++)
534 EXPECT_EQ(actualReturningToBlue[i], expectedReturningToBlue[i]);
549 ASSERT_EQ(expectedCarryingBlue.size(), actualCarryingBlue.size());
550 for(
unsigned int i = 0; i < actualCarryingBlue.size(); i++)
551 EXPECT_EQ(actualCarryingBlue[i], expectedCarryingBlue[i]);
565 ASSERT_EQ(expectedMovingToYellow.size(), actualMovingToYellow.size());
567 for(
unsigned int i = 0; i < actualMovingToYellow.size(); i++)
568 EXPECT_EQ(actualMovingToYellow[i], expectedMovingToYellow[i]);
583 ASSERT_EQ(expectedCarryingYellow.size(), actualCarryingYellow.size());
584 for(
unsigned int i = 0; i < actualCarryingYellow.size(); i++)
585 EXPECT_EQ(actualCarryingYellow[i], expectedCarryingYellow[i]);
600 ASSERT_EQ(expectedMovingToGreen.size(), actualMovingToGreen.size());
601 for(
unsigned int i = 0; i < actualMovingToGreen.size(); i++)
602 EXPECT_EQ(actualMovingToGreen[i], expectedMovingToGreen[i]);
617 ASSERT_EQ(expectedCarryingGreen.size(), actualCarryingGreen.size());
618 for(
unsigned int i = 0; i < actualCarryingGreen.size(); i++)
619 EXPECT_EQ(actualCarryingGreen[i], expectedCarryingGreen[i]);
634 ASSERT_EQ(expectedMovingTo11.size(), actualMovingTo11.size());
635 for(
unsigned int i = 0; i < actualMovingTo11.size(); i++)
636 EXPECT_EQ(actualMovingTo11[i], expectedMovingTo11[i]);
649 TEST(SelectorTest, searchRouteWhenNextMovedPositionIsBuried)
652 std::vector<std::int8_t> blockList{ { 3, 6, 8, 10 } };
655 std::vector<int> expectedEvacuatingBlue = { 8, 12 };
656 std::vector<int> expectedMovingToGreen = { 8, 9, 10 };
657 std::vector<int> expectedCarryingGreen = { 10, 9, 5 };
658 std::vector<int> expectedReturningToBlue = { 9, 13, 12 };
659 std::vector<int> expectedCarryingBlue = { 12, 13, 14, 10 };
660 std::vector<int> expectedMovingToYellow = { 14, 15, 11, 7, 6 };
661 std::vector<int> expectedCarryingYellow = { 6, 7, 11, 15, 14, 13, 9 };
662 std::vector<int> expectedMovingToRed = { 13, 14, 15, 11, 7, 3 };
663 std::vector<int> expectedCarryingRed = { 3, 7, 6 };
664 std::vector<int> expectedMovingTo11 = { 7, 11 };
677 ASSERT_EQ(expectedEvacuatingBlue.size(), actualEvacuatingBlue.size());
678 for(
unsigned int i = 0; i < actualEvacuatingBlue.size(); i++)
679 EXPECT_EQ(actualEvacuatingBlue[i], expectedEvacuatingBlue[i]);
694 ASSERT_EQ(expectedMovingToGreen.size(), actualMovingToGreen.size());
695 for(
unsigned int i = 0; i < actualMovingToGreen.size(); i++)
696 EXPECT_EQ(actualMovingToGreen[i], expectedMovingToGreen[i]);
711 ASSERT_EQ(expectedCarryingGreen.size(), actualCarryingGreen.size());
712 for(
unsigned int i = 0; i < actualCarryingGreen.size(); i++)
713 EXPECT_EQ(actualCarryingGreen[i], expectedCarryingGreen[i]);
728 ASSERT_EQ(expectedReturningToBlue.size(), actualReturningToBlue.size());
729 for(
unsigned int i = 0; i < actualReturningToBlue.size(); i++)
730 EXPECT_EQ(actualReturningToBlue[i], expectedReturningToBlue[i]);
745 ASSERT_EQ(expectedCarryingBlue.size(), actualCarryingBlue.size());
746 for(
unsigned int i = 0; i < actualCarryingBlue.size(); i++)
747 EXPECT_EQ(actualCarryingBlue[i], expectedCarryingBlue[i]);
762 ASSERT_EQ(expectedMovingToYellow.size(), actualMovingToYellow.size());
763 for(
unsigned int i = 0; i < actualMovingToYellow.size(); i++)
764 EXPECT_EQ(actualMovingToYellow[i], expectedMovingToYellow[i]);
779 ASSERT_EQ(expectedCarryingYellow.size(), actualCarryingYellow.size());
780 for(
unsigned int i = 0; i < actualCarryingYellow.size(); i++)
781 EXPECT_EQ(actualCarryingYellow[i], expectedCarryingYellow[i]);
796 ASSERT_EQ(expectedMovingToRed.size(), actualMovingToRed.size());
797 for(
unsigned int i = 0; i < actualMovingToRed.size(); i++)
798 EXPECT_EQ(actualMovingToRed[i], expectedMovingToRed[i]);
813 ASSERT_EQ(expectedCarryingRed.size(), actualCarryingRed.size());
814 for(
unsigned int i = 0; i < actualCarryingRed.size(); i++)
815 EXPECT_EQ(actualCarryingRed[i], expectedCarryingRed[i]);
829 ASSERT_EQ(expectedMovingTo11.size(), actualMovingTo11.size());
830 for(
unsigned int i = 0; i < actualMovingTo11.size(); i++)
831 EXPECT_EQ(actualMovingTo11[i], expectedMovingTo11[i]);
844 TEST(SelectorTest, searchRouteWhenNextOfNextOfNextMovedPositionIsBuried)
847 std::vector<std::int8_t> blockList{ { 5, 6, 8, 10 } };
852 std::vector<int> expectedMovingToGreen = { 9, 13, 14, 15, 11, 7, 6 };
853 std::vector<int> expectedMovingToYellow = { 7, 3, 2, 1, 5 };
854 std::vector<int> expectedCarryingYellow = { 5, 9 };
855 std::vector<int> expectedReturningToGreen = { 5, 6 };
856 std::vector<int> expectedCarryingGreen = { 6, 5 };
857 std::vector<int> expectedReturningToRed = { 6, 10 };
858 std::vector<int> expectedCarryingRed = { 10, 6 };
859 std::vector<int> expectedReturningToBlue = { 10, 14, 13, 12 };
860 std::vector<int> expectedCarryingBlue = { 12, 13, 14, 10 };
861 std::vector<int> expectedMovingTo11 = { 14, 15, 11 };
888 ASSERT_EQ(expectedMovingToGreen.size(), actualMovingToGreen.size());
889 for(
unsigned int i = 0; i < actualMovingToGreen.size(); i++)
890 EXPECT_EQ(actualMovingToGreen[i], expectedMovingToGreen[i]);
905 ASSERT_EQ(expectedMovingToYellow.size(), actualMovingToYellow.size());
906 for(
unsigned int i = 0; i < actualMovingToYellow.size(); i++)
907 EXPECT_EQ(actualMovingToYellow[i], expectedMovingToYellow[i]);
922 ASSERT_EQ(expectedCarryingYellow.size(), actualCarryingYellow.size());
923 for(
unsigned int i = 0; i < actualCarryingYellow.size(); i++)
924 EXPECT_EQ(actualCarryingYellow[i], expectedCarryingYellow[i]);
939 ASSERT_EQ(expectedReturningToGreen.size(), actualReturningToGreen.size());
940 for(
unsigned int i = 0; i < actualReturningToGreen.size(); i++)
941 EXPECT_EQ(actualReturningToGreen[i], expectedReturningToGreen[i]);
956 ASSERT_EQ(expectedCarryingGreen.size(), actualCarryingGreen.size());
957 for(
unsigned int i = 0; i < actualCarryingGreen.size(); i++)
958 EXPECT_EQ(actualCarryingGreen[i], expectedCarryingGreen[i]);
973 ASSERT_EQ(expectedReturningToRed.size(), actualReturningToRed.size());
974 for(
unsigned int i = 0; i < actualReturningToRed.size(); i++)
975 EXPECT_EQ(actualReturningToRed[i], expectedReturningToRed[i]);
990 ASSERT_EQ(expectedCarryingRed.size(), actualCarryingRed.size());
991 for(
unsigned int i = 0; i < actualCarryingRed.size(); i++)
992 EXPECT_EQ(actualCarryingRed[i], expectedCarryingRed[i]);
1007 ASSERT_EQ(expectedReturningToBlue.size(), actualReturningToBlue.size());
1008 for(
unsigned int i = 0; i < actualReturningToBlue.size(); i++)
1009 EXPECT_EQ(actualReturningToBlue[i], expectedReturningToBlue[i]);
1024 ASSERT_EQ(expectedCarryingBlue.size(), actualCarryingBlue.size());
1025 for(
unsigned int i = 0; i < actualCarryingBlue.size(); i++)
1026 EXPECT_EQ(actualCarryingBlue[i], expectedCarryingBlue[i]);
1041 ASSERT_EQ(expectedMovingTo11.size(), actualMovingTo11.size());
1042 for(
unsigned int i = 0; i < actualMovingTo11.size(); i++)
1043 EXPECT_EQ(actualMovingTo11[i], expectedMovingTo11[i]);
1052 TEST(SelectorTest, searchRouteWhenEachNextMovedPositionsIsLooped)
1055 std::vector<std::int8_t> blockList{ { 0, 5, 9, 10 } };
1057 std::vector<int> expectedMovingToBlue = { 8, 9 };
1058 std::vector<int> expectedMovingToGreen = { 8, 12, 13, 14, 10 };
1059 std::vector<int> expectedMovingToYellow = { 14, 15, 11, 7, 6, 5 };
1060 std::vector<int> expectedEvacuatingYellow = { 5, 6, 7, 3 };
1061 std::vector<int> expectedReturningToGreen = { 7, 11, 10 };
1062 std::vector<int> expectedCarryingGreen = { 10, 6, 5 };
1063 std::vector<int> expectedReturningToBlue = { 6, 10, 9 };
1064 std::vector<int> expectedCarryingBlue = { 9, 10 };
1065 std::vector<int> expectedMovingToRed = { 9, 8, 4, 0 };
1066 std::vector<int> expectedCarryingRed = { 0, 1, 2, 6 };
1067 std::vector<int> expectedReturningToYellow = { 2, 3 };
1068 std::vector<int> expectedCarryingYellow = { 3, 7, 11, 15, 14, 13, 9 };
1069 std::vector<int> expectedMovingTo11 = { 13, 14, 15, 11 };
1077 ASSERT_EQ(expectedMovingToBlue.size(), actualMovingToBlue.size());
1078 for(
unsigned int i = 0; i < actualMovingToBlue.size(); i++)
1079 EXPECT_EQ(actualMovingToBlue[i], expectedMovingToBlue[i]);
1094 ASSERT_EQ(expectedMovingToGreen.size(), actualMovingToGreen.size());
1095 for(
unsigned int i = 0; i < actualMovingToGreen.size(); i++)
1096 EXPECT_EQ(actualMovingToGreen[i], expectedMovingToGreen[i]);
1111 ASSERT_EQ(expectedMovingToYellow.size(), actualMovingToYellow.size());
1112 for(
unsigned int i = 0; i < actualMovingToYellow.size(); i++)
1113 EXPECT_EQ(actualMovingToYellow[i], expectedMovingToYellow[i]);
1128 ASSERT_EQ(expectedEvacuatingYellow.size(), actualEvacuatingYellow.size());
1129 for(
unsigned int i = 0; i < actualEvacuatingYellow.size(); i++)
1130 EXPECT_EQ(actualEvacuatingYellow[i], expectedEvacuatingYellow[i]);
1145 ASSERT_EQ(expectedReturningToGreen.size(), actualReturningToGreen.size());
1146 for(
unsigned int i = 0; i < actualReturningToGreen.size(); i++)
1147 EXPECT_EQ(actualReturningToGreen[i], expectedReturningToGreen[i]);
1162 ASSERT_EQ(expectedCarryingGreen.size(), actualCarryingGreen.size());
1163 for(
unsigned int i = 0; i < actualCarryingGreen.size(); i++)
1164 EXPECT_EQ(actualCarryingGreen[i], expectedCarryingGreen[i]);
1179 ASSERT_EQ(expectedReturningToBlue.size(), actualReturningToBlue.size());
1180 for(
unsigned int i = 0; i < actualReturningToBlue.size(); i++)
1181 EXPECT_EQ(actualReturningToBlue[i], expectedReturningToBlue[i]);
1196 ASSERT_EQ(expectedCarryingBlue.size(), actualCarryingBlue.size());
1197 for(
unsigned int i = 0; i < actualCarryingBlue.size(); i++)
1198 EXPECT_EQ(actualCarryingBlue[i], expectedCarryingBlue[i]);
1213 ASSERT_EQ(expectedMovingToRed.size(), actualMovingToRed.size());
1214 for(
unsigned int i = 0; i < actualMovingToRed.size(); i++)
1215 EXPECT_EQ(actualMovingToRed[i], expectedMovingToRed[i]);
1230 ASSERT_EQ(expectedCarryingRed.size(), actualCarryingRed.size());
1231 for(
unsigned int i = 0; i < actualCarryingRed.size(); i++)
1232 EXPECT_EQ(actualCarryingRed[i], expectedCarryingRed[i]);
1247 ASSERT_EQ(expectedReturningToYellow.size(), actualReturningToYellow.size());
1248 for(
unsigned int i = 0; i < actualReturningToYellow.size(); i++)
1249 EXPECT_EQ(actualReturningToYellow[i], expectedReturningToYellow[i]);
1264 ASSERT_EQ(expectedCarryingYellow.size(), actualCarryingYellow.size());
1265 for(
unsigned int i = 0; i < actualCarryingYellow.size(); i++)
1266 EXPECT_EQ(actualCarryingYellow[i], expectedCarryingYellow[i]);
1281 ASSERT_EQ(expectedMovingTo11.size(), actualMovingTo11.size());
1282 for(
unsigned int i = 0; i < actualMovingTo11.size(); i++)
1283 EXPECT_EQ(actualMovingTo11[i], expectedMovingTo11[i]);
1296 TEST(SelectorTest, searchRouteWhenAllNodeInitialPositionsIsFromCenterQuadirilateralTest)
1299 std::vector<std::int8_t> blockList{ { 5, 6, 9, 10 } };
1301 std::vector<int> expectedMovingToGreen = { 8, 9 };
1302 std::vector<int> expectedEvacuatingGreen = { 9, 13, 12 };
1303 std::vector<int> expectedMovingToYellow = { 13, 9, 5 };
1304 std::vector<int> expectedCarryingYellow = { 5, 9 };
1305 std::vector<int> expectedMovingToBlue = { 5, 6 };
1306 std::vector<int> expectedMovingToRed = { 5, 1, 2, 3, 7, 11, 10 };
1307 std::vector<int> expectedEvacuatingRed = { 10, 14, 15 };
1308 std::vector<int> expectedReturningToBlue = { 14, 10, 6 };
1309 std::vector<int> expectedCarryingBlue = { 6, 10 };
1310 std::vector<int> expectedReturningToRed = { 6, 7, 11, 15 };
1311 std::vector<int> expectedCarryingRed = { 15, 11, 7, 6 };
1312 std::vector<int> expectedReturningToGreen = { 7, 11, 15, 14, 13, 12 };
1313 std::vector<int> expectedCarryingGreen = { 12, 8, 4, 5 };
1314 std::vector<int> expectedMovingTo11 = { 4, 0, 1, 2, 3, 7, 11 };
1322 ASSERT_EQ(expectedMovingToGreen.size(), actualMovingToGreen.size());
1323 for(
unsigned int i = 0; i < actualMovingToGreen.size(); i++)
1324 EXPECT_EQ(actualMovingToGreen[i], expectedMovingToGreen[i]);
1339 ASSERT_EQ(expectedEvacuatingGreen.size(), actualEvacuatingGreen.size());
1340 for(
unsigned int i = 0; i < actualEvacuatingGreen.size(); i++)
1341 EXPECT_EQ(actualEvacuatingGreen[i], expectedEvacuatingGreen[i]);
1356 ASSERT_EQ(expectedMovingToYellow.size(), actualMovingToYellow.size());
1357 for(
unsigned int i = 0; i < actualMovingToYellow.size(); i++)
1358 EXPECT_EQ(actualMovingToYellow[i], expectedMovingToYellow[i]);
1373 ASSERT_EQ(expectedCarryingYellow.size(), actualCarryingYellow.size());
1374 for(
unsigned int i = 0; i < actualCarryingYellow.size(); i++)
1375 EXPECT_EQ(actualCarryingYellow[i], expectedCarryingYellow[i]);
1390 ASSERT_EQ(expectedMovingToBlue.size(), actualMovingToBlue.size());
1391 for(
unsigned int i = 0; i < actualMovingToBlue.size(); i++)
1392 EXPECT_EQ(actualMovingToBlue[i], expectedMovingToBlue[i]);
1407 ASSERT_EQ(expectedMovingToRed.size(), actualMovingToRed.size());
1408 for(
unsigned int i = 0; i < actualMovingToRed.size(); i++)
1409 EXPECT_EQ(actualMovingToRed[i], expectedMovingToRed[i]);
1424 ASSERT_EQ(expectedEvacuatingRed.size(), actualEvacuatingRed.size());
1425 for(
unsigned int i = 0; i < actualEvacuatingRed.size(); i++)
1426 EXPECT_EQ(actualEvacuatingRed[i], expectedEvacuatingRed[i]);
1441 ASSERT_EQ(expectedReturningToBlue.size(), actualReturningToBlue.size());
1442 for(
unsigned int i = 0; i < actualReturningToBlue.size(); i++)
1443 EXPECT_EQ(actualReturningToBlue[i], expectedReturningToBlue[i]);
1458 ASSERT_EQ(expectedCarryingBlue.size(), actualCarryingBlue.size());
1459 for(
unsigned int i = 0; i < actualCarryingBlue.size(); i++)
1460 EXPECT_EQ(actualCarryingBlue[i], expectedCarryingBlue[i]);
1475 ASSERT_EQ(expectedReturningToRed.size(), actualReturningToRed.size());
1476 for(
unsigned int i = 0; i < actualReturningToRed.size(); i++)
1477 EXPECT_EQ(actualReturningToRed[i], expectedReturningToRed[i]);
1492 ASSERT_EQ(expectedCarryingRed.size(), actualCarryingRed.size());
1493 for(
unsigned int i = 0; i < actualCarryingRed.size(); i++)
1494 EXPECT_EQ(actualCarryingRed[i], expectedCarryingRed[i]);
1509 ASSERT_EQ(expectedReturningToGreen.size(), actualReturningToGreen.size());
1510 for(
unsigned int i = 0; i < actualReturningToGreen.size(); i++)
1511 EXPECT_EQ(actualReturningToGreen[i], expectedReturningToGreen[i]);
1526 ASSERT_EQ(expectedCarryingGreen.size(), actualCarryingGreen.size());
1527 for(
unsigned int i = 0; i < actualCarryingGreen.size(); i++)
1528 EXPECT_EQ(actualCarryingGreen[i], expectedCarryingGreen[i]);
1543 ASSERT_EQ(expectedMovingTo11.size(), actualMovingTo11.size());
1544 for(
unsigned int i = 0; i < actualMovingTo11.size(); i++)
1545 EXPECT_EQ(actualMovingTo11[i], expectedMovingTo11[i]);
void prepareSearching(std::vector< std::int8_t > list)
std::vector< int > searchRoute(std::int8_t start, std::int8_t end)
void updateRoute(std::vector< int > route)
std::vector< std::int8_t > getBlockPositionList()
std::int8_t getPositionOfCenterQuadirilateral(BlockColor color)
std::int8_t popEvacuatedBlockPosition()
bool isCarryingWithNext()
TEST(AIAnswerArrayTest, construct)
void setBlockPositionList(std::vector< std::int8_t > list)
bool isEvacuatingWithNext()
bool isAlreadyMovedNode(std::int8_t position)
std::vector< int > extractRoute()
void pushEvacuatedBlockPosition(std::int8_t position)
std::vector< int > exploreNextOperation(std::int8_t currentPosition, BlockColor color)
bool isAlreadyAllBlockMoved()
bool isBacksteppingBeforeNextOperation()
void setNext(NextOperationOfSearchingRouteIs next)
void addMovedBlockPosition(std::int8_t position)
std::int8_t searchBlockPosition(std::int8_t currentPosition)