queue 0.1.1

Simple wrapper around Vec to provide a FIFO queue.
Documentation
use super::*;

#[test]
fn queue() {
	let mut q = Queue::new();
	assert_eq!(q.queue("hello"), Ok(1));
}

#[test]
fn dequeue() {
	let mut q = Queue::new();
	q.queue("hello").unwrap();
	assert_eq!(q.dequeue(), Some("hello"));
}

#[test]
fn no_capacity() {
	let q: Queue<u8> = Queue::new();
	assert_eq!(q.capacity(), None);
}

#[test]
fn some_capacity() {
	let q: Queue<u8> = Queue::with_capacity(12);
	assert_eq!(q.capacity(), Some(12));
}

#[test]
fn queue_full_capacity() {
	let mut q: Queue<u8> = Queue::with_capacity(0);
	assert_eq!(q.queue(3), Err(()));
}

#[test]
fn peek_at_empty() {
	let q: Queue<u8> = Queue::with_capacity(1);
	assert_eq!(q.peek(), None);
}

#[test]
fn peek_at_something() {
	let mut q = Queue::new();
	q.queue(1).unwrap();
	assert_eq!(q.peek(), Some(1));
}

#[test]
fn no_len() {
	let q: Queue<u8> = Queue::new();
	assert_eq!(q.len(), 0);
}

#[test]
fn some_len() {
	let mut q = Queue::new();
	q.queue(1).unwrap();
	q.queue(2).unwrap();
	assert_eq!(q.len(), 2);
}