-
Notifications
You must be signed in to change notification settings - Fork 14
/
CreateOperationsWithInheritanceRunner.java
100 lines (88 loc) · 3.96 KB
/
CreateOperationsWithInheritanceRunner.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package cz.cvut.kbss.jopa.test.runner;
import cz.cvut.kbss.jopa.test.OWLClassQ;
import cz.cvut.kbss.jopa.test.OWLClassS;
import cz.cvut.kbss.jopa.test.OWLClassT;
import cz.cvut.kbss.jopa.test.environment.Generators;
import org.junit.Test;
import org.slf4j.Logger;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
public abstract class CreateOperationsWithInheritanceRunner extends BaseRunner {
// Mapped superclass
private OWLClassQ entityQ;
// Single inheritance - OWLClassT is a subclass of OWLClassS
private OWLClassT entityT;
protected CreateOperationsWithInheritanceRunner(Logger logger) {
super(logger);
init();
}
private void init() {
this.entityQ = new OWLClassQ();
entityQ.setStringAttribute("entityQStringAttribute");
entityQ.setParentString("entityQParentStringAttribute");
entityQ.setLabel("entityQLabel");
entityQ.setOwlClassA(entityA);
this.entityT = new OWLClassT();
entityT.setName("entityT");
entityT.setDescription("Description attribute is a part of the superclass.");
entityT.setIntAttribute(Generators.randomInt(Integer.MAX_VALUE));
entityT.setOwlClassA(entityA);
}
@Test
public void testPersistEntityWithMappedSuperclass() {
this.em = getEntityManager("PersistEntityWithMappedSuperclass", false);
em.getTransaction().begin();
em.persist(entityA);
em.persist(entityQ);
em.getTransaction().commit();
em.clear();
assertNotNull(entityQ.getUri());
final OWLClassQ result = em.find(OWLClassQ.class, entityQ.getUri());
assertNotNull(result);
assertEquals(entityQ.getStringAttribute(), result.getStringAttribute());
assertEquals(entityQ.getParentString(), result.getParentString());
assertEquals(entityQ.getLabel(), result.getLabel());
assertNotNull(result.getOwlClassA());
assertEquals(entityQ.getOwlClassA().getUri(), result.getOwlClassA().getUri());
assertEquals(entityA.getStringAttribute(), result.getOwlClassA().getStringAttribute());
assertEquals(entityA.getTypes(), result.getOwlClassA().getTypes());
}
@Test
public void testPersistEntityWithEntitySuperclass() {
this.em = getEntityManager("PersistEntityWithEntitySuperclass", false);
em.getTransaction().begin();
em.persist(entityA);
em.persist(entityT);
em.getTransaction().commit();
em.clear();
assertNotNull(entityT.getUri());
final OWLClassT result = em.find(OWLClassT.class, entityT.getUri());
assertNotNull(result);
assertEquals(entityT.getName(), result.getName());
assertEquals(entityT.getDescription(), result.getDescription());
assertEquals(entityT.getIntAttribute(), result.getIntAttribute());
assertNotNull(result.getOwlClassA());
assertEquals(entityA.getUri(), result.getOwlClassA().getUri());
assertEquals(entityA.getStringAttribute(), result.getOwlClassA().getStringAttribute());
assertEquals(entityA.getTypes(), result.getOwlClassA().getTypes());
}
@Test
public void testPersistEntityExtendedBySubEntity() {
this.em = getEntityManager("PersistEntityExtendedBySubEntity", false);
final OWLClassS entityS = new OWLClassS();
entityS.setName("Supertype");
entityS.setDescription("Supertype is a type with a subclass.");
em.getTransaction().begin();
em.persist(entityS);
em.getTransaction().commit();
em.clear();
assertNotNull(entityS.getUri());
final OWLClassS resultS = em.find(OWLClassS.class, entityS.getUri());
assertNotNull(resultS);
assertEquals(entityS.getName(), resultS.getName());
assertEquals(entityS.getDescription(), resultS.getDescription());
em.clear();
assertNull(em.find(OWLClassT.class, entityS.getUri()));
}
}