Newer
Older
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
package com.ic.er;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.ic.er.common.Cardinality;
import com.ic.er.common.DataType;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.sql.SQLException;
import java.util.List;
public class TestView {
@Before
public void init() {
try {
ER.connectDB();
ER.createTables();
} catch (SQLException e) {
System.out.println(e);
throw new RuntimeException(e);
}
}
@Test
public void createViewTest() {
View testView = ER.createView("testView", "wt22");
Entity teacher = testView.addEntity("teacher");
teacher.addAttribute("teacher_id", DataType.VARCHAR, 1, 0);
teacher.addAttribute("name", DataType.VARCHAR, 0, 0);
teacher.addAttribute("age", DataType.INTEGER, 0, 0);
Entity student = testView.addEntity("student");
student.addAttribute("student_id", DataType.VARCHAR, 1, 0);
student.addAttribute("name", DataType.VARCHAR, 0, 0);
student.addAttribute("grade", DataType.INTEGER, 0, 0);
Relationship ts = testView.createRelationship("teaches", teacher, student, Cardinality.OneToMany);
View dbView = View.queryByID(testView.getID());
Assert.assertNotNull(dbView);
Assert.assertEquals(dbView.getEntityList().size(), 2);
Assert.assertEquals(dbView.getRelationshipList().size(), 1);
}
@Test
public void updateViewTest() {
View firstView = ER.createView("first view", "tw");
String newViewName = "new view name";
firstView.setName(newViewName);
View newView = View.queryByID(1L);
Assert.assertEquals(newView.getName(), newViewName);
}
@Test
public void deleteViewTest() {
View firstView = ER.createView("first view", "tw");
firstView = View.queryByID(1L);
Assert.assertNotNull(firstView);
firstView.deleteDB();
View newView = View.queryByID(1L);
Assert.assertNull(newView);
}
@Test
public void deleteEntityTest() {
View firstView = ER.createView("first view", "tw");
Entity firstEntity = firstView.addEntity("teacher");
Assert.assertNotNull(firstEntity);
firstView.deleteEntity(firstEntity);
View newView = View.queryByID(1L);
Assert.assertEquals(newView.getEntityList().size(), 0);
Assert.assertNull(Entity.queryByID(firstEntity.getID()));
}
@Test
public void queryViewTest() {
View firstView = ER.createView("first view", "tw");
View secondView = ER.createView("first view", "tw");
List<View> views = View.queryAll();
Assert.assertEquals(views.size(), 2);
ER.useDB = false;
views = View.queryAll();
Assert.assertEquals(views.size(), 2);
}
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
@Test
public void relationshipTest() {
View firstView = ER.createView("first view", "tw");
Entity teacher = firstView.addEntity("teacher");
teacher.addAttribute("teacher_id", DataType.VARCHAR, 1, 0);
teacher.addAttribute("name", DataType.VARCHAR, 0, 0);
teacher.addAttribute("age", DataType.INTEGER, 0, 0);
Entity student = firstView.addEntity("student");
student.addAttribute("student_id", DataType.VARCHAR, 1, 0);
student.addAttribute("name", DataType.VARCHAR, 0, 0);
student.addAttribute("grade", DataType.INTEGER, 0, 0);
Relationship ts = firstView.createRelationship("teaches", teacher, student, Cardinality.OneToMany);
Assert.assertNotNull(ts);
ts.setName("new relationship name");
ts.update();
Assert.assertEquals(Relationship.queryByID(ts.getID()).getName(), "new relationship name");
firstView.deleteRelationship(ts);
Assert.assertEquals(firstView.getRelationshipList().size(), 0);
Assert.assertNull(Relationship.queryByID(ts.getID()));
}