Completed
Push — master ( 075120...41c1b8 )
by Dan
02:01
created

RoundException::noPlayerActionsNeeded()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 7
ccs 4
cts 4
cp 1
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 4
nc 2
nop 1
crap 2
1
<?php
2
3
namespace Cysha\Casino\Holdem\Exceptions;
4
5
use Cysha\Casino\Game\Chips;
6
use Cysha\Casino\Game\Contracts\Player;
7
use DomainException;
8
9
class RoundException extends DomainException
10
{
11
    /**
12
     * @param Player      $player
13
     * @param null|string $message
14
     *
15
     * @return static
16
     */
17
    public static function playerHasNoHand(Player $player, $message = null)
18 1
    {
19
        $defaultMessage = sprintf('%s has not been dealt into this round', $player);
20 1
        $message = null === $message ? $defaultMessage : $message;
21 1
22
        return new static($message);
23 1
    }
24
25
    /**
26
     * @param Player      $player
27
     * @param Chips       $chips
28
     * @param null|string $message
29
     *
30
     * @return static
31
     */
32
    public static function notEnoughChipsInChipStack(Player $player, Chips $chips, $message = null)
33 1
    {
34
        $defaultMessage = sprintf('%s does not have enough chips to bet %d', $player, $chips->amount());
35 1
        $message = null === $message ? $defaultMessage : $message;
36 1
37
        return new static($message);
38 1
    }
39
40
    /**
41
     * @param Player      $player
42
     * @param null|string $message
43
     *
44
     * @return static
45
     */
46
    public static function playerStillNeedsToAct(Player $player, $message = null)
47 3
    {
48
        $defaultMessage = sprintf('%s still needs to act.', $player);
49 3
        $message = null === $message ? $defaultMessage : $message;
50 3
51
        return new static($message);
52 3
    }
53
54
    /**
55
     * @param null|string $message
56
     *
57
     * @return static
58
     */
59
    public static function flopHasBeenDealt($message = null)
60 2
    {
61
        $defaultMessage = 'The Flop has already been dealt!';
62 2
        $message = null === $message ? $defaultMessage : $message;
63 2
64
        return new static($message);
65 2
    }
66
67
    /**
68
     * @param null|string $message
69
     *
70
     * @return static
71
     */
72
    public static function turnHasBeenDealt($message = null)
73 3
    {
74
        $defaultMessage = 'The Turn has already been dealt!';
75 3
        $message = null === $message ? $defaultMessage : $message;
76 3
77
        return new static($message);
78 3
    }
79
80
    /**
81
     * @param null|string $message
82
     *
83
     * @return static
84
     */
85
    public static function riverHasBeenDealt($message = null)
86 3
    {
87
        $defaultMessage = 'The River has already been dealt!';
88 3
        $message = null === $message ? $defaultMessage : $message;
89 3
90
        return new static($message);
91 3
    }
92
93
    /**
94
     * @param null|string $message
95
     *
96
     * @return static
97
     */
98
    public static function playerTryingToActOutOfTurn(Player $player, Player $actualPlayer, $message = null)
99 2
    {
100
        $defaultMessage = sprintf('%s tried to act out of turn! It\'s %ss turn.', $player, $actualPlayer);
101 2
        $message = null === $message ? $defaultMessage : $message;
102 2
103
        return new static($message);
104 2
    }
105
106
    /**
107
     * @param null $message
108
     *
109
     * @return static
110
     */
111
    public static function invalidButtonPosition($message = null)
112 1
    {
113
        $defaultMessage = sprintf('Tried giving the button to a player that is not sat down.');
114 1
        $message = null === $message ? $defaultMessage : $message;
115 1
116
        return new static($message);
117 1
    }
118
119
    /**
120
     * @param null $message
121
     *
122
     * @return static
123
     */
124
    public static function noPlayerActionsNeeded($message = null)
125 1
    {
126
        $defaultMessage = sprintf('A player is trying to act when there is no valid player actions left.');
127 1
        $message = null === $message ? $defaultMessage : $message;
128 1
129
        return new static($message);
130 1
    }
131
132
    /**
133
     * @param null $message
134
     *
135
     * @return static
136
     */
137
    public static function cantCheckWithBetActive($message = null)
138
    {
139
        $defaultMessage = 'Cannot check when there has been a bet made';
140
        $message = null === $message ? $defaultMessage : $message;
141
142
        return new static($message);
143
    }
144
}
145