001: /*
002: * Copyright (c) 2007 OpenSubsystems s.r.o. Slovak Republic. All rights reserved.
003: *
004: * Project: OpenChronicle
005: *
006: * $Id: EntryControllerTest.java,v 1.2 2007/02/20 03:59:55 bastafidli Exp $
007: *
008: * This program is free software; you can redistribute it and/or modify
009: * it under the terms of the GNU General Public License as published by
010: * the Free Software Foundation; version 2 of the License.
011: *
012: * This program is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
015: * GNU General Public License for more details.
016: *
017: * You should have received a copy of the GNU General Public License
018: * along with this program; if not, write to the Free Software
019: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020: */
021:
022: package org.opensubsystems.blog.logic;
023:
024: import junit.extensions.TestSetup;
025: import junit.framework.Test;
026: import junit.framework.TestSuite;
027:
028: import org.opensubsystems.blog.persist.db.BlogDatabaseSchema;
029: import org.opensubsystems.blog.persist.db.EntryListDatabaseTestUtils;
030: import org.opensubsystems.core.error.OSSException;
031: import org.opensubsystems.core.persist.db.Database;
032: import org.opensubsystems.core.persist.db.DatabaseImpl;
033: import org.opensubsystems.core.persist.db.DatabaseSchemaManager;
034: import org.opensubsystems.core.persist.db.DatabaseTestSetup;
035: import org.opensubsystems.core.persist.db.DatabaseTestSuite;
036: import org.opensubsystems.patterns.listdata.logic.ListControllerTest;
037:
038: /**
039: * Test for ListController interface functionality when accessing entries.
040: *
041: * @version $Id: EntryControllerTest.java,v 1.2 2007/02/20 03:59:55 bastafidli Exp $
042: * @author Miro Halas
043: * @code.reviewer Miro Halas
044: * @code.reviewed 1.1 2007/02/01 07:31:06 bastafidli
045: */
046: public final class EntryControllerTest {
047: // Constructors /////////////////////////////////////////////////////////////
048:
049: /**
050: * Private constructor since this class cannot be instantiated
051: */
052: private EntryControllerTest() {
053: // Do nothing
054: }
055:
056: // Public methods ///////////////////////////////////////////////////////////
057:
058: /**
059: * Create the suite for this test since this is the only way how to create
060: * test setup which can initialize and shutdown the database for us
061: *
062: * @return Test - suite of tests to run for this database
063: */
064: public static Test suite() {
065: TestSuite suite = new DatabaseTestSuite("EntryControllerTest");
066: suite.addTestSuite(EntryControllerTestInternal.class);
067: TestSetup wrapper = new DatabaseTestSetup(suite);
068:
069: return wrapper;
070: }
071:
072: /**
073: * Internal class which can be included in other test suites directly without
074: * including the above suite. This allows us to group multiple tests
075: * together and the execute the DatabaseTestSetup only once
076: */
077: public static class EntryControllerTestInternal extends
078: ListControllerTest {
079: // Constructors /////////////////////////////////////////////////////////////
080:
081: /**
082: * Static initializer.
083: */
084: static {
085: Database dbDatabase;
086: try {
087: dbDatabase = DatabaseImpl.getInstance();
088: dbDatabase.add(DatabaseSchemaManager
089: .getInstance(BlogDatabaseSchema.class));
090: } catch (OSSException bfeExc) {
091: throw new RuntimeException("Unexpected exception.",
092: bfeExc);
093: }
094: }
095:
096: /**
097: * Constructor
098: *
099: * @param strTestName - name of the test
100: * @throws Exception - an error has occured
101: */
102: public EntryControllerTestInternal(String strTestName)
103: throws Exception {
104: super (strTestName, new EntryListDatabaseTestUtils());
105: }
106:
107: // Tests ////////////////////////////////////////////////////////////////////
108:
109: // There are no tests since all manipulation of entries is handled by
110: // BlogController. This test class is here to purely invoke tests for
111: // the ListController provided by the base class
112: }
113: }
|