1 package org.itracker.model;
2 import static org.junit.Assert.*;
3
4 import static org.itracker.Assert.assertEntityComparatorEquals;
5 import static org.itracker.Assert.assertEntityComparator;
6 import javax.mail.internet.AddressException;
7 import javax.mail.internet.InternetAddress;
8
9 import org.junit.After;
10 import org.junit.Before;
11 import org.junit.Test;
12
13 public class UserTest {
14 private User user;
15
16 @Test
17 public void testSetLogin(){
18 try{
19 user.setLogin(null);
20 fail("did not throw IllegalArgumentException");
21 } catch (IllegalArgumentException e){
22 assertTrue(true);
23 }
24 }
25
26 @Test
27 public void testGetEmailAddress() {
28 user.setEmail("jerrycong@hotmail.com");
29 user.setFirstName("jerry");
30 user.setLastName("jun");
31 try{
32 InternetAddress addr = new InternetAddress(user.getEmail(),user.getFirstName() + " "
33 + user.getLastName());
34 assertEquals("InternetAddress ", addr, user.getEmailAddress());
35 } catch (Exception e) {
36 try {
37 assertEquals("InternetAddress", new InternetAddress(user.getEmail()), user.getEmailAddress());
38 } catch (AddressException e1) {
39 assertNull("InternetAddress is null", user.getEmailAddress());
40 }
41 }
42
43
44 user.setEmail(null);
45 assertNull("InternetAddress is null", user.getEmailAddress());
46
47
48 user.setEmail("");
49 assertNull("InternetAddress is null", user.getEmailAddress());
50 }
51
52 @Test
53 public void testGetFirstInitial(){
54 user.setFirstName("jerry");
55 assertEquals("first initail", "J.", user.getFirstInitial());
56
57
58 user.setFirstName("");
59 assertEquals("first initail", "", user.getFirstInitial());
60
61
62 try{
63 user.setFirstName(null);
64 } catch (IllegalArgumentException e){
65 assertTrue(true);
66 }
67 assertEquals("first initail", "", user.getFirstInitial());
68 }
69
70 @Test
71 public void testHasRequiredData(){
72 assertFalse(user.hasRequiredData(false));
73 try{
74 user.setLogin(null);
75 fail("did not throw IllegalArgumentException");
76 } catch (IllegalArgumentException e){
77 assertTrue(true);
78 }
79 assertFalse(user.hasRequiredData(false));
80 assertFalse(user.hasRequiredData(true));
81
82 user = new User();
83 user.setLogin("");
84 assertFalse(user.hasRequiredData(false));
85 assertFalse(user.hasRequiredData(true));
86
87 user = new User();
88 user.setFirstName(null);
89 assertFalse(user.hasRequiredData(false));
90 user.setFirstName("");
91 assertFalse(user.hasRequiredData(false));
92
93 user = new User();
94 user.setLastName(null);
95 assertFalse(user.hasRequiredData(false));
96 user.setLastName("");
97 assertFalse(user.hasRequiredData(false));
98
99 user = new User();
100 user.setEmail(null);
101 assertFalse(user.hasRequiredData(false));
102 user.setEmail("");
103 assertFalse(user.hasRequiredData(false));
104 }
105
106 @Test
107 public void testToString(){
108 assertNotNull("toString", user.toString());
109 }
110
111 @Test
112 public void testNameComparator() {
113 User entityA = new User("aaa", "", "a", "a", "a@a.com", false);
114 User entityB = new User("bbb", "", "b", "b", "a@a.com", false);
115
116 assertEntityComparator("name comparator", User.NAME_COMPARATOR, entityA, entityB);
117 assertEntityComparator("name comparator", User.NAME_COMPARATOR, entityA, null);
118
119 entityA.setLastName(entityB.getLastName());
120
121 assertEntityComparator("name comparator", User.NAME_COMPARATOR, entityA, entityB);
122 assertEntityComparator("name comparator", User.NAME_COMPARATOR, entityA, null);
123
124 entityA.setFirstName(entityB.getFirstName());
125
126 assertEntityComparator("name comparator", User.NAME_COMPARATOR, entityA, entityB);
127 assertEntityComparator("name comparator", User.NAME_COMPARATOR, entityA, null);
128
129 assertEntityComparator("login comparator", User.LOGIN_COMPARATOR, entityA, entityB);
130 assertEntityComparator("login comparator", User.LOGIN_COMPARATOR, entityA, null);
131
132 entityA.setLogin(entityB.getLogin());
133
134 assertEntityComparatorEquals("name comparator", User.NAME_COMPARATOR, entityA, entityB);
135 assertEntityComparatorEquals("name comparator", User.NAME_COMPARATOR, entityA, entityA);
136 assertEntityComparatorEquals("login comparator", User.LOGIN_COMPARATOR, entityA, entityB);
137 assertEntityComparatorEquals("login comparator", User.LOGIN_COMPARATOR, entityA, entityA);
138
139 }
140
141 @Before
142 public void setUp() throws Exception {
143 user = new User();
144 }
145
146 @After
147 public void tearDown() throws Exception {
148 user = null;
149 }
150
151 }