diff --git a/src/lib.rs b/src/lib.rs index 877017e89..475b2c0f4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -56,7 +56,7 @@ impl Name { } } -#[derive(Debug)] +#[derive(Debug, PartialEq)] pub struct Message { pub data: Vec, pub priority: u32, diff --git a/src/tests.rs b/src/tests.rs new file mode 100644 index 000000000..0018e40da --- /dev/null +++ b/src/tests.rs @@ -0,0 +1,22 @@ +use super::*; + +#[test] +fn test_open_delete() { + // Simple test with default queue settings + let name = Name::new("/test-queue").unwrap(); + let queue = Queue::open_or_create(name) + .expect("Opening queue failed"); + + let message = Message { + data: "test-message".as_bytes().to_vec(), + priority: 0, + }; + + queue.send(&message).expect("message sending failed"); + + let result = queue.receive().expect("message receiving failed"); + + assert_eq!(message, result); + + queue.delete(); +}