From 7d82f186ab0dece87aa6841126e7fba16e0f8d40 Mon Sep 17 00:00:00 2001 From: standard Date: Thu, 30 Jan 2025 12:34:47 +0100 Subject: [PATCH] Updated RelativeForkEvalTest --- tests/unit/Eval/RelativeForkEvalTest.php | 162 ++++++++++++++++++----- 1 file changed, 129 insertions(+), 33 deletions(-) diff --git a/tests/unit/Eval/RelativeForkEvalTest.php b/tests/unit/Eval/RelativeForkEvalTest.php index 3dccb540..6ad1b14d 100644 --- a/tests/unit/Eval/RelativeForkEvalTest.php +++ b/tests/unit/Eval/RelativeForkEvalTest.php @@ -14,17 +14,25 @@ class RelativeForkEvalTest extends AbstractUnitTestCase */ public function c62_ruy_lopez_steinitz_defense() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('r1bqkbnr/ppp2ppp/2np4/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R w KQkq -')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -61,17 +69,25 @@ public function pawn_forks_bishop_and_knight() */ public function pawn_forks_king_and_knight() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('8/8/5k1n/6P1/7K/8/8/8 w - -')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -79,17 +95,25 @@ public function pawn_forks_king_and_knight() */ public function pawn_forks_king_and_rook() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('8/8/5k1r/6P1/7K/8/8/8 w - -')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -97,17 +121,25 @@ public function pawn_forks_king_and_rook() */ public function pawn_forks_king_and_queen() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('8/8/5k1q/6P1/7K/8/8/8 w - -')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -115,17 +147,25 @@ public function pawn_forks_king_and_queen() */ public function knight_forks_king_and_bishop() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('8/8/1k6/4b1P1/2N4K/8/8/8 w - -')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -133,17 +173,25 @@ public function knight_forks_king_and_bishop() */ public function knight_forks_king_and_knight() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('8/8/1k6/4n1P1/2N4K/8/8/8 w - -')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -151,17 +199,25 @@ public function knight_forks_king_and_knight() */ public function bishop_forks_king_and_rook() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('8/8/2k5/5b2/6R1/8/2K5/8 w - -')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -169,17 +225,25 @@ public function bishop_forks_king_and_rook() */ public function bishop_forks_king_and_queen() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('8/8/2k5/5b2/6Q1/8/2K5/8 w - -')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -187,17 +251,25 @@ public function bishop_forks_king_and_queen() */ public function bishop_forks_king_and_knight() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('8/8/2k5/5b2/6N1/8/2K5/8 w - -')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -263,17 +335,25 @@ public function knight_forks_queen_and_rook() */ public function a30_english_opening_symmetrical_hedgehog_flexible_formation() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('rn1qk2r/pb1pbppp/1p2pn2/8/2Pp4/2N2NP1/PP2PPBP/R1BQ1RK1 w kq -')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -286,12 +366,20 @@ public function b17_caro_kann_defense_karpov_variation_modern_main_line() 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('r1bqk2r/pp1n1pp1/2pbpn1p/6N1/3P4/3B1N2/PPP1QPPP/R1B1K2R w KQkq -')) ->create(); $relativeForkEval = new RelativeForkEval($board); $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } /** @@ -299,16 +387,24 @@ public function b17_caro_kann_defense_karpov_variation_modern_main_line() */ public function d44_semi_slav_defense_botvinnik_variation_szabo_variation() { - $expected = [ + $expectedResult = [ 'w' => 0, 'b' => 0, ]; + $expectedExplanation = [ + ]; + + $expectedElaboration = [ + ]; + $board = (new StrToBoard('rnbqkb1r/p4p2/2p1pn1p/1p2P1p1/2pP3B/2N2N2/PP3PPP/R2QKB1R w KQkq g6')) ->create(); - $result = (new RelativeForkEval($board))->result; + $relativeForkEval = new RelativeForkEval($board); - $this->assertSame($expected, $result); + $this->assertSame($expectedResult, $relativeForkEval->result); + $this->assertSame($expectedExplanation, $relativeForkEval->explain()); + $this->assertSame($expectedElaboration, $relativeForkEval->elaborate()); } }