package org.castor.core.nature;
import org.castor.core.nature.PropertyHolder;
import junit.framework.TestCase;
/**
* Tests the set/get capabilities of a PropertyHolder. Subclasses MUST override
* the setUp method and set a PropertyHolder to _holder. The testcase needs a
* "fresh" NatureExtendable to guarantee independence for each test.
*
* @author Lukas Lang
* @since 1.2.1
*
*/
public abstract class BasePropertyHolderTest extends TestCase {
/**
* Test PropertyHolder to test. Must be set in subclass.
*/
protected PropertyHolder _holder;
/**
* Tests the holder's capability to hold properties.
*/
public final void testSimpleReadWrite() {
_holder.setProperty("tablename", "BOOK");
assertEquals("BOOK", (String) _holder.getProperty("tablename"));
}
/**
* Test verifies the postcondition of setTableName.
*/
public final void testSetPropertyTwice() {
_holder.setProperty("tablename", "BOOK");
_holder.setProperty("tablename", "BOOKD");
assertEquals("BOOKD", (String) _holder.getProperty("tablename"));
}
/**
* Tests default behavior of properties not set before.
*/
public final void testGetButNotSetBefore() {
assertEquals(null, _holder.getProperty("tablename"));
}
}