From eff56ac051898d68d151218146bab1546743b334 Mon Sep 17 00:00:00 2001 From: Titouan Rigoudy Date: Wed, 30 Nov 2022 20:27:16 +0000 Subject: [PATCH] Move tests from room/map.rs to room/state.rs. --- client/src/control/response.rs | 2 +- client/src/room/map.rs | 111 ++------------------------------- client/src/room/state.rs | 106 +++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+), 108 deletions(-) diff --git a/client/src/control/response.rs b/client/src/control/response.rs index d7cd1d9..1a7ea09 100644 --- a/client/src/control/response.rs +++ b/client/src/control/response.rs @@ -110,7 +110,7 @@ mod tests { use solstice_proto::{User, UserStatus}; use crate::room::{ - RoomMessage, RoomMessageHistory, RoomMembership, RoomState, RoomVisibility, + RoomMembership, RoomMessage, RoomMessageHistory, RoomState, RoomVisibility, }; use super::{ diff --git a/client/src/room/map.rs b/client/src/room/map.rs index b627d58..ea76811 100644 --- a/client/src/room/map.rs +++ b/client/src/room/map.rs @@ -273,122 +273,19 @@ impl RoomMap { #[cfg(test)] mod tests { - use std::time::{Duration, SystemTime}; - use solstice_proto::server::RoomListResponse; - use crate::room::{ - RoomMessage, RoomMessageHistory, RoomMembership, RoomState, RoomVisibility, - }; - - use super::RoomMap; - - #[test] - fn deserialize_membership() { - assert_eq!( - serde_json::from_str::(r#""Member""#).unwrap(), - RoomMembership::Member - ); - } - - #[test] - fn deserialize_visibility() { - assert_eq!( - serde_json::from_str::(r#""Public""#).unwrap(), - RoomVisibility::Public - ); - } + use crate::room::{RoomState, RoomVisibility}; - #[test] - fn deserialize_message() { - assert_eq!( - serde_json::from_str::( - r#"{ - "received_at": { "secs_since_epoch": 42, "nanos_since_epoch": 1337 }, - "user_name":"karandeep", - "message":"namaste" - }"# - ) - .unwrap(), - RoomMessage { - received_at: SystemTime::UNIX_EPOCH - + Duration::from_secs(42) - + Duration::from_nanos(1337), - user_name: "karandeep".to_string(), - message: "namaste".to_string() - } - ); - } - - #[test] - fn deserialize_room() { - assert_eq!( - serde_json::from_str::( - r#"{ - "membership": "Joining", - "visibility": "PrivateOwned", - "operated": false, - "user_count": 3, - "owner": null, - "operators": ["op1", "op2"], - "members": ["m1", "m2"], - "messages": [ - { - "received_at": { "secs_since_epoch": 43, "nanos_since_epoch": 0 }, - "user_name": "u2", - "message": "msg2" - }, - { - "received_at": { "secs_since_epoch": 42, "nanos_since_epoch": 0 }, - "user_name": "u1", - "message": "msg1" - } - ], - "tickers": [["t11", "t12"], ["t21", "t22"]] - }"# - ) - .unwrap(), - RoomState { - membership: RoomMembership::Joining, - visibility: RoomVisibility::PrivateOwned, - operated: false, - user_count: 3, - owner: None, - operators: ["op1".to_string(), "op2".to_string()] - .iter() - .cloned() - .collect(), - members: ["m1".to_string(), "m2".to_string()] - .iter() - .cloned() - .collect(), - messages: RoomMessageHistory::new(vec![ - RoomMessage { - received_at: SystemTime::UNIX_EPOCH + Duration::from_secs(42), - user_name: "u1".to_string(), - message: "msg1".to_string(), - }, - RoomMessage { - received_at: SystemTime::UNIX_EPOCH + Duration::from_secs(43), - user_name: "u2".to_string(), - message: "msg2".to_string(), - } - ]), - tickers: vec![ - ("t11".to_string(), "t12".to_string()), - ("t21".to_string(), "t22".to_string()), - ], - } - ); - } + use super::*; #[test] - fn room_map_new_is_empty() { + fn new_is_empty() { assert_eq!(RoomMap::new().get_room_list(), vec![]); } #[test] - fn room_map_get_strict() { + fn get_strict() { let mut rooms = RoomMap::new(); rooms.set_room_list(RoomListResponse { rooms: vec![("room a".to_string(), 42), ("room b".to_string(), 1337)], diff --git a/client/src/room/state.rs b/client/src/room/state.rs index 3a81d29..5c34a93 100644 --- a/client/src/room/state.rs +++ b/client/src/room/state.rs @@ -144,3 +144,109 @@ impl RoomState { } } } + +#[cfg(test)] +mod tests { + use std::time::{Duration, SystemTime}; + + use super::*; + + #[test] + fn deserialize_membership() { + assert_eq!( + serde_json::from_str::(r#""Member""#).unwrap(), + RoomMembership::Member + ); + } + + #[test] + fn deserialize_visibility() { + assert_eq!( + serde_json::from_str::(r#""Public""#).unwrap(), + RoomVisibility::Public + ); + } + + #[test] + fn deserialize_message() { + assert_eq!( + serde_json::from_str::( + r#"{ + "received_at": { "secs_since_epoch": 42, "nanos_since_epoch": 1337 }, + "user_name":"karandeep", + "message":"namaste" + }"# + ) + .unwrap(), + RoomMessage { + received_at: SystemTime::UNIX_EPOCH + + Duration::from_secs(42) + + Duration::from_nanos(1337), + user_name: "karandeep".to_string(), + message: "namaste".to_string() + } + ); + } + + #[test] + fn deserialize_room() { + assert_eq!( + serde_json::from_str::( + r#"{ + "membership": "Joining", + "visibility": "PrivateOwned", + "operated": false, + "user_count": 3, + "owner": null, + "operators": ["op1", "op2"], + "members": ["m1", "m2"], + "messages": [ + { + "received_at": { "secs_since_epoch": 43, "nanos_since_epoch": 0 }, + "user_name": "u2", + "message": "msg2" + }, + { + "received_at": { "secs_since_epoch": 42, "nanos_since_epoch": 0 }, + "user_name": "u1", + "message": "msg1" + } + ], + "tickers": [["t11", "t12"], ["t21", "t22"]] + }"# + ) + .unwrap(), + RoomState { + membership: RoomMembership::Joining, + visibility: RoomVisibility::PrivateOwned, + operated: false, + user_count: 3, + owner: None, + operators: ["op1".to_string(), "op2".to_string()] + .iter() + .cloned() + .collect(), + members: ["m1".to_string(), "m2".to_string()] + .iter() + .cloned() + .collect(), + messages: RoomMessageHistory::new(vec![ + RoomMessage { + received_at: SystemTime::UNIX_EPOCH + Duration::from_secs(42), + user_name: "u1".to_string(), + message: "msg1".to_string(), + }, + RoomMessage { + received_at: SystemTime::UNIX_EPOCH + Duration::from_secs(43), + user_name: "u2".to_string(), + message: "msg2".to_string(), + } + ]), + tickers: vec![ + ("t11".to_string(), "t12".to_string()), + ("t21".to_string(), "t22".to_string()), + ], + } + ); + } +}