aboutsummaryrefslogtreecommitdiff
path: root/src/messages/not_understood.rs
diff options
context:
space:
mode:
authorKevin J Hoerr <kjhoerr@submelon.tech>2019-10-30 09:40:39 -0400
committerKevin J Hoerr <kjhoerr@submelon.tech>2019-10-30 09:40:39 -0400
commitb3a313f8e5e0185104727e75747251121eddf92d (patch)
tree7619d8d14d99767803658e62c21792136d7a1ada /src/messages/not_understood.rs
parent067e9784b54e4645412e5e7d8d7d2bc70bdcf646 (diff)
downloadaugust-offensive-b3a313f8e5e0185104727e75747251121eddf92d.tar.gz
august-offensive-b3a313f8e5e0185104727e75747251121eddf92d.tar.bz2
august-offensive-b3a313f8e5e0185104727e75747251121eddf92d.zip
Refactor messages module to be separate from routes and easily referencable
Diffstat (limited to 'src/messages/not_understood.rs')
-rw-r--r--src/messages/not_understood.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/messages/not_understood.rs b/src/messages/not_understood.rs
new file mode 100644
index 0000000..6c2c3ae
--- /dev/null
+++ b/src/messages/not_understood.rs
@@ -0,0 +1,48 @@
+use messages::Message;
+
+#[derive(Debug, Serialize)]
+pub struct NotUnderstood {
+ pub path: Vec<String>,
+}
+
+impl Message for NotUnderstood {
+ fn name(&self) -> String {
+ String::from("NOT_UNDERSTOOD")
+ }
+}
+
+impl PartialEq for NotUnderstood {
+ fn eq(&self, other: &Self) -> bool {
+ self.path == other.path
+ }
+}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn test_name() {
+ // Arrange
+ let message = NotUnderstood { path: vec![] };
+
+ // Act
+ let name = message.name();
+
+ // Assert
+ assert_eq!(name, "NOT_UNDERSTOOD");
+ }
+
+ #[test]
+ fn test_asoutgoing() {
+ // Arrange
+ let message = NotUnderstood { path: vec![] };
+
+ // Act
+ let outgoing = message.as_outgoing();
+
+ // Assert
+ assert_eq!(outgoing.result_type, "NOT_UNDERSTOOD");
+ assert_eq!(outgoing.content, NotUnderstood { path: vec![] });
+ }
+}