TEST(Record_Test, setter_getter) { Record rec; rec.setHandicapCount(3); rec.setBoardSize(9); rec.setWinner(BLACK); rec.setKomi(5.5); rec.setBlackPlayerName("hage"); rec.setWhitePlayerName("hoge"); rec.setResultToDraw(); rec.addHandicapPoint(Record::Move(2,3)); rec.addHandicapPoint(Record::Move(4,5)); rec.addHandicapPoint(Record::Move(1,6)); EXPECT_EQ(3, rec.getHandicapCount()); EXPECT_EQ(9, rec.getBoardSize()); EXPECT_EQ(BLACK, rec.getWinner()); EXPECT_EQ(5.5, rec.getKomi()); EXPECT_EQ(std::string("hage"), rec.getBlackPlayerName()); EXPECT_EQ(std::string("hoge"), rec.getWhitePlayerName()); EXPECT_EQ(std::string("Draw"), rec.getResult()); EXPECT_EQ(3, (signed)rec.getHandicapBlacks().size()); EXPECT_TRUE(rec.checkConsistencyForHandicap()); rec.addHandicapPoint(Record::Move(2,4)); rec.setHandicapCount(-1); EXPECT_EQ(3, rec.getHandicapCount()); EXPECT_EQ(4, (signed)rec.getHandicapBlacks().size()); EXPECT_FALSE(rec.checkConsistencyForHandicap()); rec.setBoardSize(20); EXPECT_EQ(9, rec.getBoardSize()); rec.setBoardSize(0); EXPECT_EQ(9, rec.getBoardSize()); rec.setWinner(FREE); EXPECT_EQ(BLACK, rec.getWinner()); rec.setKomi(-0.1); EXPECT_EQ(5.5, rec.getKomi()); }
TEST(Record_Test, boardIterator_with_Handicap) { // make this board // int init_array[][9] = { // {0,1,1,1,0,0,0,0,0}, // {1,2,2,2,0,0,0,2,0}, // {0,1,2,2,1,0,0,0,0}, // {0,1,2,0,0,0,0,0,0}, // {0,0,1,0,0,0,0,0,0}, // {0,0,0,0,0,0,0,0,0}, // {0,0,0,0,0,0,0,0,0}, // {0,0,0,0,0,0,0,0,0}, // {0,0,0,0,0,0,0,0,0} // }; Record rec; rec.setBoardSize(9); rec.setHandicapCount(2); rec.addHandicapPoint(Record::Move(6,2)); rec.addHandicapPoint(Record::Move(2,6)); EXPECT_TRUE(rec.checkConsistencyForHandicap()); vector<Record::Move> move_list; move_list.push_back(Record::Move(1,0)); move_list.push_back(Record::Move(1,1)); move_list.push_back(Record::Move(2,0)); move_list.push_back(Record::Move(2,1)); move_list.push_back(Record::Move(3,0)); move_list.push_back(Record::Move(3,1)); move_list.push_back(Record::Move(0,1)); move_list.push_back(Record::Move(7,1)); move_list.push_back(Record::Move(1,2)); move_list.push_back(Record::Move(2,2)); move_list.push_back(Record::Move(4,2)); move_list.push_back(Record::Move(3,2)); move_list.push_back(Record::Move(1,3)); move_list.push_back(Record::Move(2,3)); move_list.push_back(Record::Move(2,4)); for (size_t i=0; i<move_list.size(); i++) { rec.addMove(move_list[i]); } Record::BoardIterator board_it = rec.createBoardIterator(); EXPECT_EQ(9, board_it.getCurrentBoard().getSize()); for (int x=0; x<9; x++) for (int y=0; y<9; y++) { if ((x==2 && y==6) || (x==6 && y==2)) { EXPECT_EQ(BLACK, board_it.getCurrentBoard().getStone(x,y)); } else { EXPECT_EQ(FREE, board_it.getCurrentBoard().getStone(x,y)); } } int i=0; do { board_it.moveNext(); Color c = i%2 == 1 ? BLACK : WHITE; const Board &board = board_it.getCurrentBoard(); EXPECT_EQ(c, board.getStone(move_list[i].x, move_list[i].y)); if (i+1 < (signed)move_list.size()) { EXPECT_EQ(FREE, board.getStone(move_list[i+1].x, move_list[i+1].y)); } i++; } while (!board_it.isLast()); board_it.getCurrentBoard().printToErr(); }