Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TEST_F(MoveSearchFixture, CountDoubledPawns1) {
- Position p;
- Position::set("8/1bp1pBr1/4p1nK/1p2b3/8/p2PN3/1B3P2/6k1 w - - 0 1", p);
- int num_black, num_white;
- int expected_black = 1, expected_white = 0;
- num_black = pop_count(doubled_pawns<BLACK>(p));
- num_white = pop_count(doubled_pawns<WHITE>(p));
- EXPECT_EQ(num_black, expected_black);
- EXPECT_EQ(num_white, expected_white);
- EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
- Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
- EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
- Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
- }
- TEST_F(MoveSearchFixture, CountDoubledPawns2) {
- Position p;
- Position::set("7k/8/NrP1K3/5n1p/P3p3/3q1PP1/1b5P/1B1N4 w - - 0 1", p);
- int num_black, num_white;
- int expected_black = 0, expected_white = 0;
- num_black = pop_count(doubled_pawns<BLACK>(p));
- num_white = pop_count(doubled_pawns<WHITE>(p));
- EXPECT_EQ(num_black, expected_black);
- EXPECT_EQ(num_white, expected_white);
- EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
- Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
- EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
- Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
- }
- TEST_F(MoveSearchFixture, CountDoubledPawns3) {
- Position p;
- Position::set("6N1/rpPB2k1/pb2K3/1p1n4/1p6/5b2/5P1P/n7 w - - 0 1", p);
- int num_black, num_white;
- int expected_black = 2, expected_white = 0;
- num_black = pop_count(doubled_pawns<BLACK>(p));
- num_white = pop_count(doubled_pawns<WHITE>(p));
- EXPECT_EQ(num_black, expected_black);
- EXPECT_EQ(num_white, expected_white);
- EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
- Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
- EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
- Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
- }
- TEST_F(MoveSearchFixture, CountDoubledPawns4) {
- Position p;
- Position::set("8/1n1K1pN1/r1P5/2q1kP2/3pPp2/2R5/1NQ5/4b3 w - - 0 1", p);
- int num_black, num_white;
- int expected_black = 1, expected_white = 0;
- num_black = pop_count(doubled_pawns<BLACK>(p));
- num_white = pop_count(doubled_pawns<WHITE>(p));
- EXPECT_EQ(num_black, expected_black);
- EXPECT_EQ(num_white, expected_white);
- EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
- Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
- EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
- Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
- }
- TEST_F(MoveSearchFixture, CountDoubledPawns5) {
- Position p;
- Position::set("8/4KP2/2P1Nr2/3pp1p1/n4P2/Rb5N/6q1/3nk3 w - - 0 1", p);
- int num_black, num_white;
- int expected_black = 0, expected_white = 1;
- num_black = pop_count(doubled_pawns<BLACK>(p));
- num_white = pop_count(doubled_pawns<WHITE>(p));
- EXPECT_EQ(num_black, expected_black);
- EXPECT_EQ(num_white, expected_white);
- EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
- Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
- EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
- Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
- }
- TEST_F(MoveSearchFixture, CountDoubledPawns6) {
- Position p;
- Position::set("3K4/8/kp6/2P1r3/2N3N1/3P1b2/1r1P1Ppb/4Qq2 w - - 0 1", p);
- int num_black, num_white;
- int expected_black = 0, expected_white = 1;
- num_black = pop_count(doubled_pawns<BLACK>(p));
- num_white = pop_count(doubled_pawns<WHITE>(p));
- EXPECT_EQ(num_black, expected_black);
- EXPECT_EQ(num_white, expected_white);
- EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
- Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
- EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
- Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
- }
- TEST_F(MoveSearchFixture, CountDoubledPawns7) {
- Position p;
- Position::set("8/3K3P/P2Q4/3p1Pk1/3rP1p1/7P/pP1p2b1/1q6 w - - 0 1", p);
- int num_black, num_white;
- int expected_black = 1, expected_white = 1;
- num_black = pop_count(doubled_pawns<BLACK>(p));
- num_white = pop_count(doubled_pawns<WHITE>(p));
- EXPECT_EQ(num_black, expected_black);
- EXPECT_EQ(num_white, expected_white);
- EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
- Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
- EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
- Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
- }
- TEST_F(MoveSearchFixture, CountDoubledPawns8) {
- Position p;
- Position::set("b5K1/bkN3P1/r1p5/8/4P3/1PP3Pp/1ppr4/8 w - - 0 1", p);
- int num_black, num_white;
- int expected_black = 1, expected_white = 1;
- num_black = pop_count(doubled_pawns<BLACK>(p));
- num_white = pop_count(doubled_pawns<WHITE>(p));
- EXPECT_EQ(num_black, expected_black);
- EXPECT_EQ(num_white, expected_white);
- EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
- Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
- EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
- Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
- }
- TEST_F(MoveSearchFixture, CountDoubledPawns9) {
- Position p;
- Position::set("rnbqkbnr/pp2p1p1/3p2pP/3p2p1/2P1P3/2P1P3/P2P3P/RNBQKBNR w KQkq - 0 1", p);
- int num_black, num_white;
- int expected_black = 3, expected_white = 3;
- num_black = pop_count(doubled_pawns<BLACK>(p));
- num_white = pop_count(doubled_pawns<WHITE>(p));
- EXPECT_EQ(num_black, expected_black);
- EXPECT_EQ(num_white, expected_white);
- EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
- Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
- EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
- Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
- }
- TEST_F(MoveSearchFixture, CountDoubledPawns10) {
- Position p;
- Position::set("rnb1kbnr/ppp1pp2/2q1P3/6p1/4P1p1/2Q1p3/PPP1P1PP/RNB1KBNR w KQkq - 0 1", p);
- int num_black, num_white;
- int expected_black = 2, expected_white = 2;
- num_black = pop_count(doubled_pawns<BLACK>(p));
- num_white = pop_count(doubled_pawns<WHITE>(p));
- EXPECT_EQ(num_black, expected_black);
- EXPECT_EQ(num_white, expected_white);
- EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
- Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
- EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
- Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
- }
Advertisement
Add Comment
Please, Sign In to add comment