Skip to content
Snippets Groups Projects
TestView.java 2.45 KiB
Newer Older
  • Learn to ignore specific revisions
  • 汤伟's avatar
    汤伟 committed
    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);
        }
    }