/*
* Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com>
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: TestDbQueryManagerFactory.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.database;
import com.uwyn.rife.database.exceptions.DatabaseException;
import com.uwyn.rife.tools.ExceptionUtils;
import junit.framework.TestCase;
public class TestDbQueryManagerFactory extends TestCase
{
private Datasource mDatasource = null;
public TestDbQueryManagerFactory(Datasource datasource, String datasourceName, String name)
{
super(name);
mDatasource = datasource;
}
public void testGetDefault()
{
TestDbQueryManagerImpl dbquerymanager1 = TestDbQueryManagerFactoryImpl.getInstance(mDatasource);
TestDbQueryManagerImpl dbquerymanager2 = TestDbQueryManagerFactoryImpl.getInstance(mDatasource);
assertSame(dbquerymanager1.getDatasource(), mDatasource);
assertSame(dbquerymanager2.getDatasource(), mDatasource);
assertTrue(dbquerymanager1 == dbquerymanager2);
}
public void testGetIdentifier()
{
TestDbQueryManagerImpl dbquerymanager1 = TestDbQueryManagerFactoryImpl.getInstance(mDatasource, "id1");
TestDbQueryManagerImpl dbquerymanager2 = TestDbQueryManagerFactoryImpl.getInstance(mDatasource, "id1");
TestDbQueryManagerImpl dbquerymanager3 = TestDbQueryManagerFactoryImpl.getInstance(mDatasource, "id2");
TestDbQueryManagerImpl dbquerymanager4 = TestDbQueryManagerFactoryImpl.getInstance(mDatasource, "id3");
assertSame(dbquerymanager1.getDatasource(), mDatasource);
assertSame(dbquerymanager2.getDatasource(), mDatasource);
assertSame(dbquerymanager3.getDatasource(), mDatasource);
assertSame(dbquerymanager4.getDatasource(), mDatasource);
assertTrue(dbquerymanager1 == dbquerymanager2);
assertTrue(dbquerymanager1 != dbquerymanager3);
assertTrue(dbquerymanager1 != dbquerymanager4);
assertTrue(dbquerymanager2 != dbquerymanager3);
assertTrue(dbquerymanager2 != dbquerymanager4);
assertTrue(dbquerymanager3 != dbquerymanager4);
dbquerymanager1.setSetting("setting1");
dbquerymanager3.setSetting("setting2");
dbquerymanager4.setSetting("setting3");
assertTrue(dbquerymanager1.getSetting().equals(dbquerymanager2.getSetting()));
assertTrue(!dbquerymanager1.getSetting().equals(dbquerymanager3.getSetting()));
assertTrue(!dbquerymanager1.getSetting().equals(dbquerymanager4.getSetting()));
assertTrue(!dbquerymanager2.getSetting().equals(dbquerymanager3.getSetting()));
assertTrue(!dbquerymanager2.getSetting().equals(dbquerymanager4.getSetting()));
assertTrue(!dbquerymanager3.getSetting().equals(dbquerymanager4.getSetting()));
}
public void testQuery()
{
TestDbQueryManagerImpl dbquerymanager = TestDbQueryManagerFactoryImpl.getInstance(mDatasource);
try
{
dbquerymanager.install();
assertEquals(0, dbquerymanager.count());
dbquerymanager.store(1, "one");
assertEquals(1, dbquerymanager.count());
dbquerymanager.store(2, "two");
assertEquals(2, dbquerymanager.count());
dbquerymanager.store(3, "three");
assertEquals(3, dbquerymanager.count());
dbquerymanager.store(4, "four");
assertEquals(4, dbquerymanager.count());
try
{
dbquerymanager.store(4, "fourb");
fail();
}
catch (DatabaseException e)
{
assertTrue(true);
}
assertEquals(4, dbquerymanager.count());
dbquerymanager.remove();
}
catch (DatabaseException e)
{
assertTrue(ExceptionUtils.getExceptionStackTrace(e), false);
}
}
}