From: Geoffrey Allott Date: Mon, 1 Mar 2021 22:09:30 +0000 (+0000) Subject: add additional test X-Git-Url: https://git.pointlesshacks.com/?a=commitdiff_plain;h=0f2fda5f947c68889f0215fd35dc69aca21fccd2;p=pokerwave.git add additional test --- diff --git a/src/game/poker/holdem.rs b/src/game/poker/holdem.rs index b252c66..b2536a6 100644 --- a/src/game/poker/holdem.rs +++ b/src/game/poker/holdem.rs @@ -575,4 +575,87 @@ mod tests { test_game(actions, settings, seed); } + + #[test] + fn simple_heads_up_with_4_hands() { + let actions = r#"[ + {"username":"geoff","action":{"action":"Join","seat":0,"chips":1000}}, + {"username":"kat","action":{"action":"Join","seat":1,"chips":1000}}, + {"username":"geoff","action":{"action":"NextToDeal"}}, + {"username":"kat","action":{"action":"ReceiveCard","card":{"rank":"Four","suit":"Hearts"}}}, + {"username":"geoff","action":{"action":"ReceiveCard","card":{"rank":"Two","suit":"Diamonds"}}}, + {"username":"kat","action":{"action":"ReceiveCard","card":{"rank":"Four","suit":"Clubs"}}}, + {"username":"geoff","action":{"action":"ReceiveCard","card":{"rank":"Six","suit":"Spades"}}}, + {"username":"geoff","action":{"action":"EndDeal"}}, + {"username":"geoff","action":{"action":"PostBlind","chips":100}}, + {"username":"kat","action":{"action":"PostBlind","chips":200}}, + {"username":"geoff","action":{"action":"Bet","chips":100}}, + {"username":"kat","action":{"action":"Bet","chips":0}}, + {"username":"geoff","action":{"action":"CommunityCard","card":{"rank":"Queen","suit":"Clubs"}}}, + {"username":"geoff","action":{"action":"CommunityCard","card":{"rank":"Ace","suit":"Hearts"}}}, + {"username":"geoff","action":{"action":"CommunityCard","card":{"rank":"Seven","suit":"Hearts"}}}, + {"username":"kat","action":{"action":"Bet","chips":0}}, + {"username":"geoff","action":{"action":"Bet","chips":0}}, + {"username":"geoff","action":{"action":"CommunityCard","card":{"rank":"Ten","suit":"Hearts"}}}, + {"username":"kat","action":{"action":"Bet","chips":200}}, + {"username":"geoff","action":{"action":"Fold"}}, + {"username":"kat","action":{"action":"WinHand","chips":600,"hand":null}}, + {"username":"kat","action":{"action":"NextToDeal"}}, + {"username":"geoff","action":{"action":"ReceiveCard","card":{"rank":"Four","suit":"Spades"}}}, + {"username":"kat","action":{"action":"ReceiveCard","card":{"rank":"Jack","suit":"Diamonds"}}}, + {"username":"geoff","action":{"action":"ReceiveCard","card":{"rank":"Six","suit":"Spades"}}}, + {"username":"kat","action":{"action":"ReceiveCard","card":{"rank":"Four","suit":"Clubs"}}}, + {"username":"kat","action":{"action":"EndDeal"}}, + {"username":"kat","action":{"action":"PostBlind","chips":100}}, + {"username":"geoff","action":{"action":"PostBlind","chips":200}}, + {"username":"kat","action":{"action":"Bet","chips":100}}, + {"username":"geoff","action":{"action":"Bet","chips":0}}, + {"username":"kat","action":{"action":"CommunityCard","card":{"rank":"Ace","suit":"Clubs"}}}, + {"username":"kat","action":{"action":"CommunityCard","card":{"rank":"Seven","suit":"Diamonds"}}}, + {"username":"kat","action":{"action":"CommunityCard","card":{"rank":"Five","suit":"Spades"}}}, + {"username":"geoff","action":{"action":"Bet","chips":200}}, + {"username":"kat","action":{"action":"Fold"}}, + {"username":"geoff","action":{"action":"WinHand","chips":600,"hand":null}}, + {"username":"geoff","action":{"action":"NextToDeal"}}, + {"username":"kat","action":{"action":"ReceiveCard","card":{"rank":"Five","suit":"Hearts"}}}, + {"username":"geoff","action":{"action":"ReceiveCard","card":{"rank":"Four","suit":"Diamonds"}}}, + {"username":"kat","action":{"action":"ReceiveCard","card":{"rank":"Two","suit":"Diamonds"}}}, + {"username":"geoff","action":{"action":"ReceiveCard","card":{"rank":"Ten","suit":"Spades"}}}, + {"username":"geoff","action":{"action":"EndDeal"}}, + {"username":"geoff","action":{"action":"PostBlind","chips":100}}, + {"username":"kat","action":{"action":"PostBlind","chips":200}}, + {"username":"geoff","action":{"action":"Fold"}}, + {"username":"kat","action":{"action":"WinHand","chips":300,"hand":null}}, + {"username":"kat","action":{"action":"NextToDeal"}}, + {"username":"geoff","action":{"action":"ReceiveCard","card":{"rank":"Eight","suit":"Spades"}}}, + {"username":"kat","action":{"action":"ReceiveCard","card":{"rank":"Ace","suit":"Spades"}}}, + {"username":"geoff","action":{"action":"ReceiveCard","card":{"rank":"Ten","suit":"Spades"}}}, + {"username":"kat","action":{"action":"ReceiveCard","card":{"rank":"King","suit":"Spades"}}}, + {"username":"kat","action":{"action":"EndDeal"}}, + {"username":"kat","action":{"action":"PostBlind","chips":100}}, + {"username":"geoff","action":{"action":"PostBlind","chips":200}}, + {"username":"kat","action":{"action":"Bet","chips":300}}, + {"username":"geoff","action":{"action":"Bet","chips":200}}, + {"username":"kat","action":{"action":"CommunityCard","card":{"rank":"Ten","suit":"Clubs"}}}, + {"username":"kat","action":{"action":"CommunityCard","card":{"rank":"Jack","suit":"Hearts"}}}, + {"username":"kat","action":{"action":"CommunityCard","card":{"rank":"Queen","suit":"Spades"}}}, + {"username":"geoff","action":{"action":"Bet","chips":0}}, + {"username":"kat","action":{"action":"Bet","chips":500}}, + {"username":"geoff","action":{"action":"Bet","chips":500}}, + {"username":"kat","action":{"action":"CommunityCard","card":{"rank":"Six","suit":"Hearts"}}}, + {"username":"kat","action":{"action":"CommunityCard","card":{"rank":"Eight","suit":"Clubs"}}}, + {"username":"kat","action":{"action":"WinHand","chips":1800,"hand":"Straight, A High"}}, + {"username":"geoff","action":{"action":"KnockedOut"}}, + {"username":"kat","action":{"action":"WinGame"}} + ]"#; + let actions = serde_json::from_str(actions).unwrap(); + + let settings = r#"{"title":"2-Player TexasHoldEm Test","max_players":2,"small_blind":100,"starting_stack":1000}"#; + let settings = serde_json::from_str(settings).unwrap(); + + let seed = r#"{"rng":"ChaCha20","seed":"fd87ec4b51fcaf056ef53c0460322e1fa5261cf2801d005065c9add8ec541bb4"}"#; + let seed = serde_json::from_str(seed).unwrap(); + + test_game(actions, settings, seed); + } }