View Javadoc

1   package org.itracker.model;
2   
3   import org.junit.After;
4   import org.junit.Before;
5   import org.junit.Test;
6   
7   import java.util.Date;
8   
9   import static org.itracker.Assert.*;
10  
11  
12  public class AbstractEntityTest {
13      private Entity ae;
14  
15      @Test
16      public void testGetCreateDate() {
17          Date date = new Date(1000);
18          ae.setCreateDate(date);
19          assertEquals("create date", date, ae.getCreateDate());
20          assertNotSame("create date", ae.getCreateDate(), ae.getCreateDate());
21  
22          ae.setCreateDate(null);
23          assertNotNull("create date", ae.getCreateDate());
24      }
25  
26      @Test
27      public void testSetCreateDate() {
28          Date date = new Date(1000);
29          ae.setCreateDate(date);
30          assertEquals("create date", date, ae.getCreateDate());
31          assertNotSame("lastModifiedDate", date, ae.getCreateDate());
32  
33          ae.setCreateDate(null);
34          assertNotNull("create date", ae.getCreateDate());
35      }
36  
37      @Test
38      public void testGetLastModifiedDate() {
39          Date date = new Date(1000);
40          ae.setLastModifiedDate(date);
41          assertEquals("lastModifiedDate", date, ae.getLastModifiedDate());
42          assertNotSame("lastModifiedDate", ae.getLastModifiedDate(), ae.getLastModifiedDate());
43  
44          ae.setLastModifiedDate(null);
45          assertNotNull("lastModifiedDate", ae.getLastModifiedDate());
46      }
47  
48      @Test
49      public void testSetLastModifiedDate() {
50          Date date = new Date(1000);
51          ae.setLastModifiedDate(date);
52          assertEquals("lastModifiedDate", date, ae.getLastModifiedDate());
53          assertNotSame("lastModifiedDate", date, ae.getLastModifiedDate());
54  
55          ae.setLastModifiedDate(null);
56          assertNotNull("lastModifiedDate", ae.getLastModifiedDate());
57      }
58  
59      @Test
60      public void testEquals() {
61          Entity aeCopy = ae;
62          assertTrue(ae.equals(aeCopy));
63          assertFalse(ae.equals(null));
64  
65          aeCopy = new TestAbstractEntity();
66          assertFalse(ae.equals(aeCopy));
67          ae.setId(1000);
68          assertFalse(ae.equals(aeCopy));
69          aeCopy.setId(1000);
70          assertTrue(ae.equals(aeCopy));
71          assertFalse(ae.equals(new User()));
72      }
73  
74      @Test
75      public void testCompareTo() {
76          ae.setId(1000);
77          AbstractEntity aeCopy = new TestAbstractEntity();
78          aeCopy.setId(1000);
79          assertEquals(0, ae.compareTo(aeCopy));
80          aeCopy.setId(2000);
81          assertEquals(-1, ae.compareTo(aeCopy));
82          try {
83              ae.compareTo(null);
84              fail("did not throw NullPointerException");
85          } catch (NullPointerException e) {
86              assertTrue(true);
87          }
88      }
89  
90      @Test
91      public void testIsNew() {
92          ae.setId(1000);
93          assertFalse(ae.isNew());
94          ae.setId(null);
95          assertTrue(ae.isNew());
96      }
97  
98      @Test
99      public void testHashCode() {
100         assertNotNull(ae.hashCode());
101     }
102 
103     @Test
104     public void testClone() throws CloneNotSupportedException {
105         Object clone = ((AbstractEntity) ae).clone();
106         assertTrue(clone instanceof AbstractEntity);
107     }
108 
109     @Test
110     public void testIdComparator() {
111         AbstractEntity entityA = new TestAbstractEntity();
112         AbstractEntity entityB = new TestAbstractEntity();
113 
114 
115         entityA.setId(1);
116         entityB.setId(2);
117         assertEntityComparator("id comparator", AbstractEntity.ID_COMPARATOR, entityA, entityB);
118         assertEntityComparator("id comparator", AbstractEntity.ID_COMPARATOR, entityA, null);
119 
120         entityA.setId(2);
121         assertEntityComparatorEquals("id comparator", AbstractEntity.ID_COMPARATOR, entityA, entityB);
122         assertEntityComparatorEquals("id comparator", AbstractEntity.ID_COMPARATOR, entityA, entityA);
123         assertEntityComparator("id comparator", AbstractEntity.ID_COMPARATOR, entityA, null);
124 
125     }
126 
127     @Test
128     public void testCreateDateComparator() throws Exception {
129         AbstractEntity entityA = new TestAbstractEntity();
130         Thread.sleep(100);
131         AbstractEntity entityB = new TestAbstractEntity();
132 
133         assertEntityComparator("create date comparator", AbstractEntity.CREATE_DATE_COMPARATOR, entityA, entityB);
134         assertEntityComparator("create date comparator", AbstractEntity.CREATE_DATE_COMPARATOR, entityA, null);
135 
136         entityA.setCreateDate(entityB.getCreateDate());
137         assertEquals(entityA.getCreateDate(), entityB.getCreateDate());
138         assertEntityComparatorEquals("create date comparator", AbstractEntity.CREATE_DATE_COMPARATOR, entityA, entityB);
139         assertEntityComparatorEquals("create date comparator", AbstractEntity.CREATE_DATE_COMPARATOR, entityA, entityA);
140         assertEntityComparator("create date comparator", AbstractEntity.CREATE_DATE_COMPARATOR, entityA, null);
141     }
142 
143     @Test
144     public void testLastModifiedDateComparator() throws Exception {
145         AbstractEntity entityA = new TestAbstractEntity();
146         Thread.sleep(100);
147         AbstractEntity entityB = new TestAbstractEntity();
148 
149         assertEntityComparator("last modified date comparator", AbstractEntity.LAST_MODIFIED_DATE_COMPARATOR, entityA, entityB);
150         assertEntityComparator("last modified date comparator", AbstractEntity.LAST_MODIFIED_DATE_COMPARATOR, entityA, null);
151 
152         entityA.setLastModifiedDate(entityB.getLastModifiedDate());
153         assertEquals(entityB.getLastModifiedDate(), entityB.getLastModifiedDate());
154         assertEntityComparatorEquals("last modified date comparator", AbstractEntity.LAST_MODIFIED_DATE_COMPARATOR, entityA, entityB);
155         assertEntityComparatorEquals("last modified date comparator", AbstractEntity.LAST_MODIFIED_DATE_COMPARATOR, entityA, entityA);
156         assertEntityComparator("last modified date comparator", AbstractEntity.LAST_MODIFIED_DATE_COMPARATOR, entityA, null);
157     }
158 
159     @Before
160     public void setUp() throws Exception {
161         ae = new TestAbstractEntity();
162     }
163 
164     @After
165     public void tearDown() throws Exception {
166         ae = null;
167     }
168 
169 
170     /**
171      * Simple Entity for Test
172      */
173     private class TestAbstractEntity extends AbstractEntity {
174         private static final long serialVersionUID = 1L;
175     }
176 
177 }