25 lines
577 B
Rust
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());
|
|
}
|
|
}
|