package org.peerbox.app.activity; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.peerbox.BaseJUnitTest; public class ActivityItemTest extends BaseJUnitTest { private ActivityItem item; private ActivityItem returnItem; @Before public void setUp() throws Exception { item = ActivityItem.create(); returnItem = null; } @After public void tearDown() throws Exception { item = null; returnItem = null; } @Test public void testCreate() { ActivityItem i = ActivityItem.create(); // initial state check assertNotNull(i); assertEquals("", i.getTitle()); assertEquals("", i.getDescription()); assertEquals(ActivityType.INFORMATION, i.getType()); assertEquals(System.currentTimeMillis(), i.getTimestamp()); } @Test public void testGetAndSetTitle() { assertEquals("", item.getTitle()); returnItem = item.setTitle("this is a title"); assertReturnThisItem(); assertEquals("this is a title", item.getTitle()); returnItem = item.setTitle(null); assertReturnThisItem(); assertNull(item.getTitle()); returnItem = item.setTitle(""); assertReturnThisItem(); assertEquals("", item.getTitle()); } @Test public void testGeAndSetDescription() { assertEquals("", item.getTitle()); returnItem = item.setDescription("this is a description"); assertReturnThisItem(); assertEquals("this is a description", item.getDescription()); returnItem = item.setDescription(null); assertReturnThisItem(); assertNull(item.getDescription()); returnItem = item.setDescription(""); assertReturnThisItem(); assertEquals("", item.getDescription()); } @Test public void testGetTimestamp() { assertTrue(item.getTimestamp() > 0); assertTrue((item.getTimestamp() - System.currentTimeMillis()) < 10); } @Test public void testGetAndSetType() { assertEquals(item.getType(), ActivityType.INFORMATION); returnItem = item.setType(ActivityType.WARNING); assertReturnThisItem(); assertEquals(item.getType(), ActivityType.WARNING); returnItem = item.setType(ActivityType.INFORMATION); assertReturnThisItem(); assertEquals(item.getType(), ActivityType.INFORMATION); } /** * Asserts that returnItem is equals to the item. * Useful for the fluent API setters that return "this" instance. */ private void assertReturnThisItem() { assertEquals(returnItem, item); } }