Skip to content

Commit 54c8766

Browse files
committed
Unit tests for Owner.
TODO unit tests for other entities
1 parent d09e848 commit 54c8766

File tree

3 files changed

+124
-0
lines changed

3 files changed

+124
-0
lines changed

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@
2525
<version>4.48</version>
2626
</dependency>
2727

28+
<dependency>
29+
<groupId>junit</groupId>
30+
<artifactId>junit</artifactId>
31+
<version>4.11</version>
32+
</dependency>
33+
2834
</dependencies>
2935

3036

src/main/java/nl/bascoder/keymanager/entity/Owner.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,24 @@ public void setName(String name) {
5151
this.name = name;
5252
}
5353

54+
@Override
55+
public int hashCode() {
56+
int result = id;
57+
result = 31 * result + name.hashCode();
58+
return result;
59+
}
60+
61+
@Override
62+
public boolean equals(Object o) {
63+
if (this == o) return true;
64+
if (o == null || getClass() != o.getClass()) return false;
65+
66+
Owner owner = (Owner) o;
67+
68+
return id == owner.id && name.equals(owner.name);
69+
70+
}
71+
5472
@Override
5573
public String toString() {
5674
return name;
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
package nl.bascoder.keymanager.test.orm;
2+
3+
4+
import com.j256.ormlite.dao.Dao;
5+
import com.j256.ormlite.dao.DaoManager;
6+
import com.j256.ormlite.support.ConnectionSource;
7+
8+
import junit.framework.Assert;
9+
10+
import org.junit.After;
11+
import org.junit.Before;
12+
import org.junit.Test;
13+
14+
import java.sql.SQLException;
15+
import java.util.UUID;
16+
import java.util.logging.Level;
17+
import java.util.logging.Logger;
18+
19+
import nl.bascoder.keymanager.DatabaseManager;
20+
import nl.bascoder.keymanager.entity.Owner;
21+
22+
/**
23+
* Created by Bas on 7-6-2015.
24+
*
25+
* @author Bas
26+
* @version 1.0 - creation
27+
* @since 7-6-2015
28+
*/
29+
public class OwnerTestCase {
30+
private Owner mOwner;
31+
private Dao<Owner, Integer> mOwnerDao;
32+
33+
@Before
34+
public void setUp() throws Exception {
35+
mOwner = new Owner();
36+
mOwner.setName("Test Guy");
37+
final ConnectionSource connectionSource
38+
= DatabaseManager.getInstance().getConnectionSource();
39+
mOwnerDao = DaoManager.createDao(connectionSource, Owner.class);
40+
41+
mOwnerDao.create(mOwner);
42+
}
43+
44+
@After
45+
public void tearDown() throws Exception {
46+
try {
47+
deleteOwner(mOwner);
48+
} catch (Exception e) {
49+
Logger.getGlobal().log(Level.WARNING, "Could not clean up owner", e);
50+
}
51+
}
52+
53+
private void deleteOwner(Owner owner) throws SQLException {
54+
mOwnerDao.delete(owner);
55+
}
56+
57+
@Test
58+
public void testSetupComplete() throws Exception {
59+
Assert.assertNotNull(mOwner);
60+
Assert.assertNotNull(mOwnerDao);
61+
}
62+
63+
@Test
64+
public void testRead() throws Exception {
65+
int id = mOwner.getId();
66+
67+
Owner o = mOwnerDao.queryForId(id);
68+
69+
Assert.assertEquals(mOwner, o);
70+
}
71+
72+
@Test
73+
public void testUpdate() throws Exception {
74+
int id = mOwner.getId();
75+
final String NEW_NAME = "Fred";
76+
77+
mOwner.setName(NEW_NAME);
78+
mOwnerDao.update(mOwner);
79+
80+
Owner o = mOwnerDao.queryForId(id);
81+
Assert.assertEquals(NEW_NAME, o.getName());
82+
}
83+
84+
@Test
85+
public void testDelete() throws Exception {
86+
Owner o = new Owner();
87+
o.setName("Harry" + UUID.randomUUID().toString());
88+
89+
mOwnerDao.create(o);
90+
int id = o.getId();
91+
92+
Owner ownerToDelete = mOwnerDao.queryForId(id);
93+
94+
Assert.assertEquals(o, ownerToDelete);
95+
deleteOwner(ownerToDelete);
96+
97+
Owner selected = mOwnerDao.queryForId(id);
98+
Assert.assertNull(selected);
99+
}
100+
}

0 commit comments

Comments
 (0)