View Javadoc

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  		//test email is null
44  		user.setEmail(null);
45  		assertNull("InternetAddress is null", user.getEmailAddress());
46  		
47  		//test email is empty
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  		//set first name empty
58  		user.setFirstName("");
59  		assertEquals("first initail", "", user.getFirstInitial());
60  		
61  		//set first name null
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 }