diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2023-01-07 16:49:04 -0500 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2023-01-07 16:49:04 -0500 |
commit | d9de850834ec6a33a794462eb0ed23cefd4b576f (patch) | |
tree | 487202a80bdc9081c8f650058ee7e2a1986dda09 | |
parent | 879276a057d4805014fef0218a4cbafdd2349b64 (diff) |
-rw-r--r-- | server/tests/table_test.rs | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/server/tests/table_test.rs b/server/tests/table_test.rs index a131768..5b1350b 100644 --- a/server/tests/table_test.rs +++ b/server/tests/table_test.rs @@ -1,9 +1,12 @@ +use std::ops::Deref; + use protocol::bridge_engine::TableState; -use rand::{thread_rng, Rng, random}; +use rand::{random, thread_rng, Rng}; use server::{ error::BridgeError, table::{DbTable, InMemoryTable, Table}, }; +use tracing::info; use uuid::Uuid; mod common; @@ -80,13 +83,21 @@ async fn db_table_idempotent() -> Result<(), anyhow::Error> { #[ignore] async fn db_table_persistence() -> Result<(), anyhow::Error> { let db = common::TestDb::new().await; - let mut table = Box::new( - DbTable::new(db.db().clone(), Uuid::new_v4(), InMemoryTable::new()) - .await?, - ); + let id = Uuid::new_v4(); + + let create_table = { + || async { + let db = db.db().clone(); + Box::new(DbTable::new(db, id, InMemoryTable::new()).await.unwrap()) + } + }; + let mut table = create_table().await; table = table.set_board(1, random()).await?; - for _i in 0..(thread_rng().gen_range(0..200)) { + assert_eq!(table.state(), create_table().await.state()); + for i in 0..(thread_rng().gen_range(0..200)) { + info!("move {i}"); table = advance_table(table).await?; + assert_eq!(table.state(), create_table().await.state()); } Ok(()) } |