package com.mockmock.mail; import com.mockmock.Settings; import org.junit.Assert; import org.junit.Test; public class MailQueueTest { @Test public void testEmptyQueue() { MockMail mail = new MockMail(); MailQueue mailQueue = new MailQueue(); mailQueue.setSettings(new Settings()); mailQueue.add(mail); Assert.assertFalse(mailQueue.getMailQueue().isEmpty()); mailQueue.emptyQueue(); Assert.assertTrue(mailQueue.getMailQueue().isEmpty()); } @Test public void testDeleteMailFromQueue() { MockMail mail = new MockMail(); mail.setId(1337); MailQueue mailQueue = new MailQueue(); mailQueue.setSettings(new Settings()); mailQueue.add(mail); Assert.assertFalse(mailQueue.getMailQueue().isEmpty()); mailQueue.deleteById(mail.getId()); Assert.assertTrue(mailQueue.getMailQueue().isEmpty()); } @Test public void testAdd() { MailQueue mailQueue = new MailQueue(); mailQueue.setSettings(new Settings()); mailQueue.emptyQueue(); MockMail mail = new MockMail(); mailQueue.add(mail); Assert.assertTrue(mailQueue.getMailQueue().size() == 1); } @Test public void testMultipleAdd() { Settings settings = new Settings(); MailQueue mailQueue = new MailQueue(); mailQueue.setSettings(settings); mailQueue.emptyQueue(); for (int i = 0; i < settings.getMaxMailQueueSize(); i++) { MockMail mail = new MockMail(); mailQueue.add(mail); } Assert.assertTrue(mailQueue.getMailQueue().size() == settings.getMaxMailQueueSize()); for (int i = 0; i < 10; i++) { MockMail mail = new MockMail(); mailQueue.add(mail); } Assert.assertTrue(mailQueue.getMailQueue().size() == settings.getMaxMailQueueSize()); } @Test public void testGetById() { MailQueue mailQueue = new MailQueue(); mailQueue.setSettings(new Settings()); mailQueue.emptyQueue(); long id = 23986; MockMail mail = new MockMail(); mail.setId(id); mail.setSubject("Test subject"); mailQueue.add(mail); long id2 = 87632; MockMail mail2 = new MockMail(); mail2.setId(id2); mail2.setSubject("Test subject 2"); mailQueue.add(mail2); Assert.assertEquals(mail, mailQueue.getById(id)); Assert.assertEquals(mail2, mailQueue.getById(id2)); } }