twilight_model/gateway/presence/
activity_party.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
4pub struct ActivityParty {
5    #[serde(skip_serializing_if = "Option::is_none")]
6    pub id: Option<String>,
7    #[serde(skip_serializing_if = "Option::is_none")]
8    pub size: Option<[u64; 2]>,
9}
10
11#[cfg(test)]
12mod tests {
13    use super::ActivityParty;
14    use serde_test::Token;
15
16    #[test]
17    fn activity_secrets() {
18        let value = ActivityParty {
19            id: Some("party id".to_owned()),
20            size: Some([2, 6]),
21        };
22
23        serde_test::assert_tokens(
24            &value,
25            &[
26                Token::Struct {
27                    name: "ActivityParty",
28                    len: 2,
29                },
30                Token::Str("id"),
31                Token::Some,
32                Token::Str("party id"),
33                Token::Str("size"),
34                Token::Some,
35                Token::Tuple { len: 2 },
36                Token::U64(2),
37                Token::U64(6),
38                Token::TupleEnd,
39                Token::StructEnd,
40            ],
41        );
42    }
43}