summaryrefslogtreecommitdiff
path: root/server/src/play.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/play.rs')
-rw-r--r--server/src/play.rs17
1 files changed, 15 insertions, 2 deletions
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<J: Journal> Table<J> {
}
async fn init(journal: &mut J) -> Result<GameState, BridgeError> {
- 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<J: Journal> Table<J> {
}
}
+
+pub fn advance_play<J: Journal>(table: &mut Table<J>) {
+ 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<TestJournal> = Table::new(Default::default()).await.unwrap();
+ let player = t1.game().current_player();
+ advance_play(&mut t1);
+ assert_ne!(player, t1.game().current_player());
+ }
}