13 #include <gtest/gtest.h>
15 using namespace BlockSideBySide;
17 namespace etrobocon2018_test {
31 TEST(BlockSolverTest, getChangeDirection)
34 Walker walker{ controller };
35 BlockSolver blockSolver{ controller, walker, 01233, 40 };
36 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 2);
37 blockSolver.nowDirection = blockSolver.getChangeDirection(1);
38 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 3);
39 blockSolver.nowDirection = blockSolver.getChangeDirection(1);
40 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 0);
41 blockSolver.nowDirection = blockSolver.getChangeDirection(-1);
42 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 3);
43 blockSolver.nowDirection = blockSolver.getChangeDirection(-1);
44 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 2);
45 blockSolver.nowDirection = blockSolver.getChangeDirection(-1);
46 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 1);
47 blockSolver.nowDirection = blockSolver.getChangeDirection(2);
48 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 3);
51 TEST(BlockSolverTest, move)
54 Walker walker{ controller };
55 BlockSolver blockSolver{ controller, walker, 01233, 40 };
56 blockSolver.moveDirection(9);
57 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 2);
58 blockSolver.moveDirection(10);
59 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 2);
60 blockSolver.moveDirection(6);
61 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 1);
62 blockSolver.moveDirection(5);
63 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 0);
64 blockSolver.moveDirection(6);
65 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 2);
67 TEST(BlockSolverTest, move2)
70 Walker walker{ controller };
71 BlockSolver blockSolver{ controller, walker, 01233, 40 };
72 blockSolver.moveDirection(9);
73 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 2);
74 blockSolver.moveDirection(8);
75 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 0);
76 blockSolver.moveDirection(4);
77 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 1);
78 blockSolver.moveDirection(5);
79 ASSERT_EQ(static_cast<int>(blockSolver.nowDirection), 2);
81 TEST(BlockSolverTest, runrun)
84 Walker walker{ controller };
85 BlockSolver blockSolver{ controller, walker, 84722, 40 };
TEST(BlockSolverTest, runrun)