From afd9756f2c2725a873fb6f25afaebdbb2396b449 Mon Sep 17 00:00:00 2001
From: James Munns <james.munns@gmail.com>
Date: Wed, 22 Jun 2016 03:08:13 +0200
Subject: [PATCH] Add test

---
 src/packet.rs | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/packet.rs b/src/packet.rs
index 5581f95..0570d37 100644
--- a/src/packet.rs
+++ b/src/packet.rs
@@ -31,7 +31,7 @@ pub struct PacketHeader {
 	message_id: u16
 }
 
-#[derive(Debug)]
+#[derive(Debug, PartialEq)]
 pub enum PacketClass {
 	Empty,
 	Request(RequestRegistry),
@@ -39,7 +39,7 @@ pub enum PacketClass {
 	Reserved
 }
 
-#[derive(Debug)]
+#[derive(Debug, PartialEq)]
 pub enum RequestRegistry {
 	Get,
 	Post,
@@ -47,7 +47,7 @@ pub enum RequestRegistry {
 	Delete
 }
 
-#[derive(Debug)]
+#[derive(Debug, PartialEq)]
 pub enum ResponseRegistry {
 	// 200 Codes
 	Created,
@@ -617,6 +617,22 @@ mod test {
 	use super::*;
 	use std::collections::LinkedList;
 
+	#[test]
+	fn test_header_codes() {
+		for code in 0..255 {
+			let class = code_to_class(&code);
+			let code_str = code_to_str(&code);
+			let class_str = class_to_str(&class);
+
+			// Reserved class could technically be many codes
+			//   so only check valid items
+			if class != PacketClass::Reserved {
+				assert_eq!(class_to_code(&class), code);
+				assert_eq!(code_str, class_str);
+			}
+		}
+	}
+
 	#[test]
 	fn test_decode_packet_with_options() {
 		let buf = [0x44, 0x01, 0x84, 0x9e, 0x51, 0x55, 0x77, 0xe8, 0xb2, 0x48, 0x69, 0x04, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x3d, 0x31];
-- 
GitLab