adfasdfadsfasdf

Untitled

Feb 26th, 2023
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.01 KB | None | 0 0
  1. TEST_F(MoveSearchFixture, CountDoubledPawns1) {
  2.     Position p;
  3.     Position::set("8/1bp1pBr1/4p1nK/1p2b3/8/p2PN3/1B3P2/6k1 w - - 0 1", p);
  4.     int num_black, num_white;
  5.     int expected_black = 1, expected_white = 0;
  6.     num_black = pop_count(doubled_pawns<BLACK>(p));
  7.     num_white = pop_count(doubled_pawns<WHITE>(p));
  8.     EXPECT_EQ(num_black, expected_black);
  9.     EXPECT_EQ(num_white, expected_white);
  10.     EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
  11.             Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
  12.     EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
  13.             Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
  14. }
  15.  
  16. TEST_F(MoveSearchFixture, CountDoubledPawns2) {
  17.     Position p;
  18.     Position::set("7k/8/NrP1K3/5n1p/P3p3/3q1PP1/1b5P/1B1N4 w - - 0 1", p);
  19.     int num_black, num_white;
  20.     int expected_black = 0, expected_white = 0;
  21.     num_black = pop_count(doubled_pawns<BLACK>(p));
  22.     num_white = pop_count(doubled_pawns<WHITE>(p));
  23.     EXPECT_EQ(num_black, expected_black);
  24.     EXPECT_EQ(num_white, expected_white);
  25.     EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
  26.               Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
  27.     EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
  28.               Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
  29. }
  30.  
  31. TEST_F(MoveSearchFixture, CountDoubledPawns3) {
  32.     Position p;
  33.     Position::set("6N1/rpPB2k1/pb2K3/1p1n4/1p6/5b2/5P1P/n7 w - - 0 1", p);
  34.     int num_black, num_white;
  35.     int expected_black = 2, expected_white = 0;
  36.     num_black = pop_count(doubled_pawns<BLACK>(p));
  37.     num_white = pop_count(doubled_pawns<WHITE>(p));
  38.     EXPECT_EQ(num_black, expected_black);
  39.     EXPECT_EQ(num_white, expected_white);
  40.     EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
  41.               Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
  42.     EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
  43.               Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
  44. }
  45.  
  46. TEST_F(MoveSearchFixture, CountDoubledPawns4) {
  47.     Position p;
  48.     Position::set("8/1n1K1pN1/r1P5/2q1kP2/3pPp2/2R5/1NQ5/4b3 w - - 0 1", p);
  49.     int num_black, num_white;
  50.     int expected_black = 1, expected_white = 0;
  51.     num_black = pop_count(doubled_pawns<BLACK>(p));
  52.     num_white = pop_count(doubled_pawns<WHITE>(p));
  53.     EXPECT_EQ(num_black, expected_black);
  54.     EXPECT_EQ(num_white, expected_white);
  55.     EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
  56.               Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
  57.     EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
  58.               Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
  59. }
  60.  
  61. TEST_F(MoveSearchFixture, CountDoubledPawns5) {
  62.     Position p;
  63.     Position::set("8/4KP2/2P1Nr2/3pp1p1/n4P2/Rb5N/6q1/3nk3 w - - 0 1", p);
  64.     int num_black, num_white;
  65.     int expected_black = 0, expected_white = 1;
  66.     num_black = pop_count(doubled_pawns<BLACK>(p));
  67.     num_white = pop_count(doubled_pawns<WHITE>(p));
  68.     EXPECT_EQ(num_black, expected_black);
  69.     EXPECT_EQ(num_white, expected_white);
  70.     EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
  71.               Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
  72.     EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
  73.               Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
  74. }
  75.  
  76.  
  77. TEST_F(MoveSearchFixture, CountDoubledPawns6) {
  78.     Position p;
  79.     Position::set("3K4/8/kp6/2P1r3/2N3N1/3P1b2/1r1P1Ppb/4Qq2 w - - 0 1", p);
  80.     int num_black, num_white;
  81.     int expected_black = 0, expected_white = 1;
  82.     num_black = pop_count(doubled_pawns<BLACK>(p));
  83.     num_white = pop_count(doubled_pawns<WHITE>(p));
  84.     EXPECT_EQ(num_black, expected_black);
  85.     EXPECT_EQ(num_white, expected_white);
  86.     EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
  87.               Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
  88.     EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
  89.               Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
  90. }
  91.  
  92. TEST_F(MoveSearchFixture, CountDoubledPawns7) {
  93.     Position p;
  94.     Position::set("8/3K3P/P2Q4/3p1Pk1/3rP1p1/7P/pP1p2b1/1q6 w - - 0 1", p);
  95.     int num_black, num_white;
  96.     int expected_black = 1, expected_white = 1;
  97.     num_black = pop_count(doubled_pawns<BLACK>(p));
  98.     num_white = pop_count(doubled_pawns<WHITE>(p));
  99.     EXPECT_EQ(num_black, expected_black);
  100.     EXPECT_EQ(num_white, expected_white);
  101.     EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
  102.               Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
  103.     EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
  104.               Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
  105. }
  106.  
  107. TEST_F(MoveSearchFixture, CountDoubledPawns8) {
  108.     Position p;
  109.     Position::set("b5K1/bkN3P1/r1p5/8/4P3/1PP3Pp/1ppr4/8 w - - 0 1", p);
  110.     int num_black, num_white;
  111.     int expected_black = 1, expected_white = 1;
  112.     num_black = pop_count(doubled_pawns<BLACK>(p));
  113.     num_white = pop_count(doubled_pawns<WHITE>(p));
  114.     EXPECT_EQ(num_black, expected_black);
  115.     EXPECT_EQ(num_white, expected_white);
  116.     EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
  117.               Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
  118.     EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
  119.               Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
  120. }
  121.  
  122. TEST_F(MoveSearchFixture, CountDoubledPawns9) {
  123.     Position p;
  124.     Position::set("rnbqkbnr/pp2p1p1/3p2pP/3p2p1/2P1P3/2P1P3/P2P3P/RNBQKBNR w KQkq - 0 1", p);
  125.     int num_black, num_white;
  126.     int expected_black = 3, expected_white = 3;
  127.     num_black = pop_count(doubled_pawns<BLACK>(p));
  128.     num_white = pop_count(doubled_pawns<WHITE>(p));
  129.     EXPECT_EQ(num_black, expected_black);
  130.     EXPECT_EQ(num_white, expected_white);
  131.     EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
  132.               Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
  133.     EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
  134.               Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
  135. }
  136.  
  137. TEST_F(MoveSearchFixture, CountDoubledPawns10) {
  138.     Position p;
  139.     Position::set("rnb1kbnr/ppp1pp2/2q1P3/6p1/4P1p1/2Q1p3/PPP1P1PP/RNB1KBNR w KQkq - 0 1", p);
  140.     int num_black, num_white;
  141.     int expected_black = 2, expected_white = 2;
  142.     num_black = pop_count(doubled_pawns<BLACK>(p));
  143.     num_white = pop_count(doubled_pawns<WHITE>(p));
  144.     EXPECT_EQ(num_black, expected_black);
  145.     EXPECT_EQ(num_white, expected_white);
  146.     EXPECT_EQ(evaluate_doubled_pawns<BLACK>(p),
  147.               Score(expected_black * DOUBLED_PAWN_PENALTY.middle_game, expected_black * DOUBLED_PAWN_PENALTY.end_game));
  148.     EXPECT_EQ(evaluate_doubled_pawns<WHITE>(p),
  149.               Score(expected_white * DOUBLED_PAWN_PENALTY.middle_game, expected_white * DOUBLED_PAWN_PENALTY.end_game));
  150. }
  151.  
Advertisement
Add Comment
Please, Sign In to add comment