From cebd93586f32fb47cea2f86b9c87f9daea3da9b0 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Fri, 16 Dec 2022 08:40:07 -0500 Subject: Failing test for advance_play() --- protocol/src/bridge_engine.rs | 8 ++++++++ server/src/fake_auth.rs | 3 +-- server/src/main.rs | 2 -- server/src/play.rs | 17 +++++++++++++++-- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/protocol/src/bridge_engine.rs b/protocol/src/bridge_engine.rs index 0eb9c1e..ec88183 100644 --- a/protocol/src/bridge_engine.rs +++ b/protocol/src/bridge_engine.rs @@ -573,6 +573,14 @@ impl GameState { } } + pub fn current_player(&self) -> Option { + match self { + GameState::Bidding(bidding) => Some(bidding.bidding.current_bidder()), + GameState::Play(_) => todo!(), + GameState::PassedOut { dealer, deal, bidding } => None, + } + } + pub fn is_bidding(&self) -> bool { if let GameState::Bidding { .. } = self { true diff --git a/server/src/fake_auth.rs b/server/src/fake_auth.rs index d19d858..c0574af 100644 --- a/server/src/fake_auth.rs +++ b/server/src/fake_auth.rs @@ -5,10 +5,9 @@ use std::{ }; use async_trait::async_trait; -use chrono::{DateTime, Utc}; +use chrono::Utc; use openidconnect::{RefreshToken, AccessToken}; use reqwest::Url; -use tracing::info; use crate::{ auth::{AuthenticatedSession, Authenticator, SessionId, store_authenticated_session}, diff --git a/server/src/main.rs b/server/src/main.rs index cf42b3f..95e23e6 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -119,8 +119,6 @@ async fn main() { #[cfg(debug_assertions)] async fn fake_login() -> Html<&'static str> { - use axum::response::Html; - Html(r#" diff --git a/server/src/play.rs b/server/src/play.rs index 33a14f9..9ea2f42 100644 --- a/server/src/play.rs +++ b/server/src/play.rs @@ -1,5 +1,5 @@ use async_trait::async_trait; -use protocol::{bridge_engine::{self, GameState, Player, Bid, Deal}}; +use protocol::{bridge_engine::{GameState, Player, Bid, Deal}}; use rand::random; use serde::{Deserialize, Serialize}; use serde_json::json; @@ -109,7 +109,7 @@ impl Table { } async fn init(journal: &mut J) -> Result { - let game = GameState::new(random(), Player::East); + let game = GameState::new(random(), random()); journal.append(0, json!(game)).await?; Ok(game) } @@ -132,6 +132,11 @@ impl Table { } } + +pub fn advance_play(table: &mut Table) { + todo!() +} + #[cfg(test)] mod test { use super::*; @@ -198,4 +203,12 @@ mod test { let t2 = Table::replay(journal).await.unwrap(); assert_eq!(game, t2.game); } + + #[tokio::test] + async fn test_advance_play() { + let mut t1: Table = Table::new(Default::default()).await.unwrap(); + let player = t1.game().current_player(); + advance_play(&mut t1); + assert_ne!(player, t1.game().current_player()); + } } -- cgit v1.2.3