71 TEST_CASE(
"マップの状態とロボットの重心座標を渡した時,マップを重心を中心に格子状に分割するべき")
76 TestMapCreator test_map_creator;
77 MapState map_state = test_map_creator.
InitMap();
80 const Vector3 global_robot_com(0, 0, 0);
83 DividedMapState divided_map_state;
84 divided_map_state.Init(map_state, global_robot_com);
87 int center_index_x = divided_map_state.GetDividedMapIndexX(global_robot_com.x);
88 int center_index_y = divided_map_state.GetDividedMapIndexX(global_robot_com.y);
90 constexpr int expected_num =
static_cast<int>(
91 (DividedMapState::kDividedAreaLength / TestMapCreator::kInterval) *
92 (DividedMapState::kDividedAreaLength / TestMapCreator::kInterval));
94 CHECK_EQ(divided_map_state.GetPointNum(center_index_x, center_index_y), expected_num);
102 TEST_CASE(
"0未満の値を渡した時,0を返すべき")
104 CHECK_EQ(DividedMapState::ClampDividedMapIndex(-1), 0);
105 CHECK_EQ(DividedMapState::ClampDividedMapIndex(-100), 0);
107 CHECK_EQ(DividedMapState::ClampDividedMapIndex(0), 0);
110 TEST_CASE(
"最大値を渡した時,最大値 - 1を返すべき")
112 CHECK_EQ(DividedMapState::ClampDividedMapIndex(DividedMapState::kDividedNum),
113 DividedMapState::kDividedNum - 1);
115 CHECK_EQ(DividedMapState::ClampDividedMapIndex(DividedMapState::kDividedNum + 1),
116 DividedMapState::kDividedNum - 1);
118 CHECK_EQ(DividedMapState::ClampDividedMapIndex(DividedMapState::kDividedNum + 100),
119 DividedMapState::kDividedNum - 1);
122 CHECK_EQ(DividedMapState::ClampDividedMapIndex(DividedMapState::kDividedNum - 1),
123 DividedMapState::kDividedNum - 1);