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