TestView.java 2.45 KiB
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);
}
}