001 package nl.cwi.sen1.visplugin.table;
002
003 import junit.framework.TestCase;
004 import nl.cwi.sen1.visplugin.VisualizationFactorySingleton;
005 import nl.cwi.sen1.visplugin.VisualizationPluginWindow;
006 import aterm.ATerm;
007 import aterm.pure.PureFactory;
008
009 /**
010 * Test class for the TableVisualization Plugin.
011 * @author Srinivasan Tharmarajah
012 * @author Wasim Alsaqaf
013 * @author Antoine Savelkoul
014 * @date 07-03-2007
015 */
016 public class TableVisualizationControllerTest extends TestCase {
017
018 private TableVisualizationController m_tableVisualizationController;
019
020 static final String m_fileName = "graph.rstore";
021
022 /**
023 * Fixture setup.
024 * @author Srinivasan Tharmarajah
025 * @author Wasim Alsaqaf
026 * @date 20-2-2007
027 */
028 protected void setUp() throws Exception {
029 super.setUp();
030
031 m_tableVisualizationController = new TableVisualizationController();
032 PureFactory pureFactory = VisualizationFactorySingleton.getPureFactoryInstance();
033 m_tableVisualizationController.initPluginController(pureFactory);
034 }
035
036 /**
037 * Tests if the TableVisualizationController can be created succesfully
038 *
039 * @author Antoine Savelkoul
040 * @author Srinivasan Tharmarajah
041 * @author Wasim Alsaqaf
042 * @date 07-03-2007
043 */
044 public void testTableVisualizationController() {
045 TableVisualizationController tableVisualizationController = new TableVisualizationController();
046 assertNotNull(tableVisualizationController);
047 }
048
049 /**
050 * Tests if a visualization window can be created.
051 *
052 * @author Antoine Savelkoul
053 * @author Srinivasan Tharmarajah
054 * @author Wasim Alsaqaf
055 * @date 07-03-2007
056 */
057 public void testCreateWindow() {
058 VisualizationPluginWindow visualizationPluginWindow;
059 visualizationPluginWindow = m_tableVisualizationController.createWindow();
060 // Tests if the window can be created
061 assertNotNull(visualizationPluginWindow);
062 // Tests if the window is of the right type
063 assertEquals(TableVisualizationWindow.class, visualizationPluginWindow.getClass());
064 }
065
066 /**
067 * Tests if the right plugin name is given when requested.
068 *
069 * @author Antoine Savelkoul
070 * @date 07-03-2007
071 */
072 public void testGetPluginName() {
073 assertEquals( m_tableVisualizationController.getPluginName(), "Table Visualization Plugin" );
074 }
075
076 /**
077 * Test for the supported types.
078 *
079 * @author Anton Lycklama
080 * @author Bas Basten
081 * @date 9-3-2007
082 */
083 public void testIsTypeSupported() {
084 PureFactory pureFactory = VisualizationFactorySingleton.getPureFactoryInstance();
085 ATerm resultTrue = pureFactory.make("snd-value(vp-type-supported(<bool>))", new Boolean(true));
086 ATerm resultFalse = pureFactory.make("snd-value(vp-type-supported(<bool>))", new Boolean(false));
087
088 // Should succeed
089 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("relation([str])")), resultTrue);
090 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("relation([int])")), resultTrue);
091 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("relation([loc])")), resultTrue);
092 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("relation([str,str])")), resultTrue);
093 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("relation([str,int])")), resultTrue);
094 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("relation([loc,int])")), resultTrue);
095 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("relation([str,str,str])")), resultTrue);
096 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("relation([str,int,str])")), resultTrue);
097 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("relation([int,str,loc])")), resultTrue);
098 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("set(int)")), resultTrue);
099 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("bag(int)")), resultTrue);
100
101 // Should fail
102 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("str")), resultFalse);
103 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("loc")), resultFalse);
104 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("int")), resultFalse);
105 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("bool")), resultFalse);
106 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("relation([str,relation([str])])")), resultFalse);
107 assertEquals(m_tableVisualizationController.vpIsTypeSupported(makeATerm("set(relation([int,str]))")), resultFalse);
108 }
109
110 private ATerm makeATerm(String type) {
111 PureFactory factory = VisualizationFactorySingleton.getPureFactoryInstance();
112 return factory.make(type);
113 // return m_factory.RTypeFromString(type);
114 }
115 }
116
117