コード例 #1
0
ファイル: StraightTest.php プロジェクト: ranpafin/phpoker
 public function test_it_will_return_a_score_with_the_max_face_value_adjusted_with_the_hands_strength()
 {
     $hand = new Hand(...StaticFixtures::straight());
     $finder = $this->prophesize(StraightFinder::class);
     $finder->find($hand)->willReturn($hand);
     $matcher = new Straight($finder->reveal());
     $expectedScore = new Score($hand, (3 + 4 + 5 + 6 + 7) * Straight::MULTIPLIER);
     $this->assertEquals($expectedScore, $matcher->match($hand));
 }
コード例 #2
0
 public function test_it_will_return_an_hand_that_matches_the_search_null_otherwise()
 {
     $handSearch = $this->prophesize(HandSearch::class);
     $handSearch->search(Argument::cetera())->willReturn(new Hand(...[]));
     $hand = new Hand(...StaticFixtures::straight());
     $handSearch->search(Argument::which('getFaceValue', 3), Argument::cetera())->willReturn(new Hand(new Card(3, Suit::spades())))->shouldBeCalled();
     $handSearch->search(Argument::which('getFaceValue', 4), Argument::cetera())->willReturn(new Hand(new Card(4, Suit::flowers())))->shouldBeCalled();
     $handSearch->search(Argument::which('getFaceValue', 5), Argument::cetera())->willReturn(new Hand(new Card(5, Suit::spades())))->shouldBeCalled();
     $handSearch->search(Argument::which('getFaceValue', 6), Argument::cetera())->willReturn(new Hand(new Card(6, Suit::spades())))->shouldBeCalled();
     $handSearch->search(Argument::which('getFaceValue', 7), Argument::cetera())->willReturn(new Hand(new Card(7, Suit::spades())))->shouldBeCalled();
     $handSearch->search(Argument::any(), Argument::cetera())->willReturn(null);
     $finder = new StraightFinder($handSearch->reveal());
     $this->assertEquals($hand, $finder->find($hand));
 }