@@ -89,3 +89,57 @@ impl Display for MessageModel {
89
89
write ! ( f, "{}" , self . get_mode_cn( ) )
90
90
}
91
91
}
92
+
93
+ #[ cfg( test) ]
94
+ mod tests {
95
+ use serde_json;
96
+
97
+ use super :: * ;
98
+
99
+ #[ test]
100
+ fn serialize_message_model_broadcasting ( ) {
101
+ let model = MessageModel :: Broadcasting ;
102
+ let serialized = serde_json:: to_string ( & model) . unwrap ( ) ;
103
+ assert_eq ! ( serialized, "\" BROADCASTING\" " ) ;
104
+ }
105
+
106
+ #[ test]
107
+ fn serialize_message_model_clustering ( ) {
108
+ let model = MessageModel :: Clustering ;
109
+ let serialized = serde_json:: to_string ( & model) . unwrap ( ) ;
110
+ assert_eq ! ( serialized, "\" CLUSTERING\" " ) ;
111
+ }
112
+
113
+ #[ test]
114
+ fn deserialize_message_model_broadcasting ( ) {
115
+ let json = "\" BROADCASTING\" " ;
116
+ let deserialized: MessageModel = serde_json:: from_str ( json) . unwrap ( ) ;
117
+ assert_eq ! ( deserialized, MessageModel :: Broadcasting ) ;
118
+ }
119
+
120
+ #[ test]
121
+ fn deserialize_message_model_clustering ( ) {
122
+ let json = "\" CLUSTERING\" " ;
123
+ let deserialized: MessageModel = serde_json:: from_str ( json) . unwrap ( ) ;
124
+ assert_eq ! ( deserialized, MessageModel :: Clustering ) ;
125
+ }
126
+
127
+ #[ test]
128
+ fn deserialize_message_model_invalid ( ) {
129
+ let json = "\" INVALID\" " ;
130
+ let deserialized: Result < MessageModel , _ > = serde_json:: from_str ( json) ;
131
+ assert ! ( deserialized. is_err( ) ) ;
132
+ }
133
+
134
+ #[ test]
135
+ fn display_message_model_broadcasting ( ) {
136
+ let model = MessageModel :: Broadcasting ;
137
+ assert_eq ! ( model. to_string( ) , "BROADCASTING" ) ;
138
+ }
139
+
140
+ #[ test]
141
+ fn display_message_model_clustering ( ) {
142
+ let model = MessageModel :: Clustering ;
143
+ assert_eq ! ( model. to_string( ) , "CLUSTERING" ) ;
144
+ }
145
+ }
0 commit comments