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
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
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.getID(), student.getID(), 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);
firstView.updateDB();
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 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);
}
}