twilight_model/gateway/presence/
activity_party.rs1use 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}