1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
use crate::data::{EOByte, Serializeable, StreamBuilder, StreamReader};

#[derive(Debug, Default, Clone)]
pub struct Server {
    pub message: String,
}

impl Server {
    pub fn new() -> Self {
        Self::default()
    }
}

impl Serializeable for Server {
    fn deserialize(&mut self, reader: &StreamReader) {
        self.message = reader.get_end_string();
    }
    fn serialize(&self) -> Vec<EOByte> {
        let mut builder = StreamBuilder::with_capacity(self.message.len());
        builder.add_string(&self.message);
        builder.get()
    }
}

// #[cfg(test)]
// mod tests {
//     use super::*;

//     #[test]
//     fn deserialize() {
//         todo!();
//         let data: Vec<EOByte> = vec![];
//         let mut open = Server::new();
//         let reader = StreamReader::new(&data);
//         open.deserialize(&reader);
//     }
//     #[test]
//     fn serialize() {
//         todo!();
//         let mut open = Server::new();
//         assert_eq!(open.serialize(), [])
//     }
// }