package org.hibernate.eclipse.console.test; import java.util.Observable; import java.util.Observer; import junit.framework.TestCase; import org.hibernate.console.ConsoleConfiguration; import org.hibernate.console.ConsoleQueryParameter; import org.hibernate.console.KnownConfigurations; import org.hibernate.console.QueryInputModel; import org.hibernate.eclipse.console.test.launchcfg.TestConsoleConfigurationPreferences; import org.jboss.tools.hibernate.runtime.spi.IService; public class QueryParametersTest extends TestCase { private ConsoleConfiguration consoleCfg; private IService service; protected void setUp() throws Exception { super.setUp(); TestConsoleConfigurationPreferences cfgprefs = new TestConsoleConfigurationPreferences(); consoleCfg = new ConsoleConfiguration(cfgprefs); KnownConfigurations.getInstance().addConfiguration(consoleCfg, true); service = consoleCfg.getHibernateExtension().getHibernateService(); } protected void tearDown() throws Exception { KnownConfigurations.getInstance().removeAllConfigurations(); consoleCfg = null; } public void testQueryParameter() { QueryInputModel model = new QueryInputModel(service); ConsoleQueryParameter[] cqps = model.getQueryParameters(); assertNotNull(cqps); QueryInputModel qpmodel = model; assertNotNull(qpmodel); class TestObserver implements Observer { int cnt = 0; public void update(Observable o, Object arg) { cnt++; } }; TestObserver testObserver = new TestObserver(); qpmodel.addObserver(testObserver); ConsoleQueryParameter consoleQueryParameter = new ConsoleQueryParameter(service); qpmodel.addParameter(consoleQueryParameter); assertEquals(1,testObserver.cnt); qpmodel.removeParameter(consoleQueryParameter); assertEquals(2,testObserver.cnt); } public void testCreateUnique() { QueryInputModel model = new QueryInputModel(service); ConsoleQueryParameter parameter = model.createUniqueParameter("param"); //$NON-NLS-1$ model.addParameter(parameter); assertFalse(model.createUniqueParameter("param").getName().equals(parameter.getName())); //$NON-NLS-1$ } }