etrobocon2018 feat.KatLab  770af34cce41ae9c30c41303275e1add2daae0c3 (with uncommitted changes)
 全て クラス 名前空間 ファイル 関数 変数 列挙型 列挙値 フレンド マクロ定義 ページ
BlockAreaTest.cpp
[詳解]
1 
5 /* コンパイル(平木場)
6 $ g++-7 BlockAreaTest.cpp ../src/BlockArea.cpp gtest_main.o gtest-all.o -I../include
7 -I../../googletest/googletest/include
8 */
9 
10 #include "BlockArea.h" // このヘッダファイルのcppファイルをテスト
11 #include <array>
12 #include <gtest/gtest.h>
13 
14 using namespace BlockSideBySide;
15 
16 namespace etrobocon2018_test {
17  TEST(ColorBlockTest, createColorBlock)
18  {
19  ColorBlock block{};
20  block.color = GameColor::RED;
21 
22  ASSERT_EQ(block.color, GameColor::RED);
23  }
24 
25  TEST(ColorBlockPlaceTest, createColorBlockPlace)
26  {
27  ColorBlockPlace blockPlace00(GameColor::RED, 0);
28  ASSERT_EQ(blockPlace00.getPlaceCord(), 0);
29  ASSERT_EQ(blockPlace00.getColor(), GameColor::RED);
30  }
31 
32  TEST(ColorBlockPlaceTest, setColorBlock)
33  {
34  std::shared_ptr<ColorBlock> colorBlock0 = std::make_shared<ColorBlock>();
35  ColorBlockPlace blockPlace00(GameColor::RED, 0);
36  blockPlace00.block = colorBlock0;
37  ASSERT_EQ(blockPlace00.block->color, GameColor::UNKNOWN);
38  blockPlace00.block->color = GameColor::BLUE;
39  ASSERT_EQ(blockPlace00.block->color, GameColor::BLUE);
40  }
41 
42  TEST(ColorBlockPlaceTest, connectColorBlockPlace)
43  {
44  std::shared_ptr<ColorBlockPlace> blockPlace00
45  = std::make_shared<ColorBlockPlace>(GameColor::RED, 0);
46  std::shared_ptr<ColorBlockPlace> blockPlace01
47  = std::make_shared<ColorBlockPlace>(GameColor::YELLOW, 1);
48 
49  blockPlace00->black_line[Direction::NORTH] = blockPlace01;
50  blockPlace01->black_line[Direction::SOUTH] = blockPlace00;
51  ASSERT_EQ(blockPlace00->black_line[Direction::NORTH]->getColor(), GameColor::YELLOW);
52  ASSERT_EQ(blockPlace01->black_line[Direction::SOUTH]->getColor(), GameColor::RED);
53  }
54 
55  TEST(ColorBlockPlaceTest, dynamicCreateColorBlockPlace)
56  {
57  std::array<GameColor, 16> colorArray{ GameColor::RED, GameColor::YELLOW, GameColor::BLUE,
62  GameColor::YELLOW };
63 
64  std::array<std::shared_ptr<ColorBlockPlace>, 16> colorBlockPlaceArray;
65  for(std::int8_t i = 0; i < 16; i++) {
66  std::shared_ptr<ColorBlockPlace> blockPlace
67  = std::make_shared<ColorBlockPlace>(colorArray[i], i);
68  colorBlockPlaceArray[i] = blockPlace;
69  }
70  }
71 
72 } // namespace etrobocon2018_test
TEST(ColorBlockPlaceTest, dynamicCreateColorBlockPlace)