secret-hitler/.old/secert-hitler/src/model/state/rooms.rs

25 lines
577 B
Rust

use super::room::Room;
pub trait Rooms {
fn create(&mut self, sender: String) -> Box<dyn Room>;
fn join(&self, sender: String, room_id: String) -> Result<Box<dyn Room>, &str>;
}
#[cfg(test)]
mod tests {
use super::Rooms;
use super::Room;
use super::super::mockrooms::MockRooms;
#[test]
fn mockrooms() {
fn gen() -> impl Rooms {
let r = MockRooms::new();
r
}
let mut rooms = gen();
let mut room_ptr: Box<dyn Room> = rooms.create("abc".to_string());
assert!(room_ptr.send("hi".to_string()).is_ok());
}
}