package deterioationIndicator; import static org.junit.Assert.*; import gui.DeterioationGUIMain; import java.util.ArrayList; import java.util.HashMap; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Before; import org.junit.Test; import org.visico.neighborhoodpss.deterioationindicator.DeterioationIndicator; import org.visico.neighborhoodpss.domain.project.BuildingDTO; import org.visico.neighborhoodpss.domain.project.BuildingDataDTO; import org.visico.neighborhoodpss.domain.project.BuildingDataTypeDTO; import org.visico.neighborhoodpss.domain.project.ScenarioDTO; import org.visico.neighborhoodpss.gwt.server.project.db.HibernateUtil; import org.visico.neighborhoodpss.gwt.server.project.db.Scenario; public class VisualizeTest { static private int[] conditions = {5, 5, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 5, 1, 1, 1, 1}; ScenarioDTO scenario; @Before public void getScenario() { ScenarioDTO s_dto = null; // get the scenario from the database Session session = HibernateUtil.getSessionFactory().openSession(); Transaction tx = null; try { tx = session.beginTransaction(); Query q = session.createQuery("from Scenario"); ArrayList<Scenario> p = (ArrayList<Scenario>) q.list(); scenario = p.get(0).getDto_object(); tx.commit(); session.close(); } catch (Exception e) { if (tx != null) tx.rollback(); session.close(); } /* // set the extra data value BuildingDataTypeDTO type = new BuildingDataTypeDTO(); type.setName("Condition"); int i=0; HashMap<Integer, Integer> conditions = new HashMap(); conditions.put(1, 1); conditions.put(2, 1); conditions.put(3, 5); conditions.put(4, 5); conditions.put(5, 5); conditions.put(6, 5); conditions.put(7, 1); conditions.put(8, 5); conditions.put(9, 1); conditions.put(10, 5); conditions.put(11, 1); conditions.put(12, 5); conditions.put(13, 1); conditions.put(14, 5); conditions.put(15, 5); conditions.put(16, 5); conditions.put(17, 5); conditions.put(18, 5); for (BuildingDTO b : scenario.getBuildingDTOs()) { HashMap<BuildingDataTypeDTO, BuildingDataDTO> data = new HashMap<BuildingDataTypeDTO, BuildingDataDTO>(); BuildingDataDTO data_dto = new BuildingDataDTO(); data_dto.setType(type); data_dto.setValue(Integer.toString(conditions.get(b.getId()))); data.put(type, data_dto); b.setData(data); i++; }*/ } @Test public void visualizeIndicator() { // Run the GUI codes on the Event-Dispatching thread for thread safety final DeterioationIndicator indicator = new DeterioationIndicator(); indicator.setScenario(scenario); indicator.createGraph(); DeterioationGUIMain main = new DeterioationGUIMain(indicator); // Let the constructor do the job main.setVisible(true); int result = JOptionPane.showConfirmDialog(null,"Initial condition correct?", "Unit Test", JOptionPane.YES_NO_OPTION); assertEquals (result, JOptionPane.YES_OPTION); main.setVisible(false); for (int i=0; i<10; i++) { indicator.deterioate(); main = new DeterioationGUIMain(indicator); // Let the constructor do the job main.setVisible(true); result = JOptionPane.showConfirmDialog(null,"Network propagated correct?", "Unit Test", JOptionPane.YES_NO_OPTION); assertEquals (result, JOptionPane.YES_OPTION); main.setVisible(false); } } }