001 package org.springframework.binding.form.support;
002
003 import junit.framework.TestCase;
004
005 import org.springframework.binding.PropertyAccessStrategy;
006 import org.springframework.binding.PropertyMetadataAccessStrategy;
007 import org.springframework.binding.support.TestBean;
008
009
010 public class FormModelPropertyAccessStrategyTests extends TestCase
011 {
012
013 protected AbstractFormModel getFormModel(Object formObject)
014 {
015 return new TestAbstractFormModel(formObject);
016 }
017
018 /**
019 * Test to ensure that the AccessStrategy works correctly with writeable/readable properties. *
020 */
021 public void testReadOnlyPropertyAccess()
022 {
023 AbstractFormModel model = getFormModel(new TestBean());
024 PropertyAccessStrategy propertyAccessStrategy = model.getPropertyAccessStrategy();
025 PropertyMetadataAccessStrategy metaDataAccessStrategy = propertyAccessStrategy.getMetadataAccessStrategy();
026
027 assertFalse("Property is readonly, isWriteable() should return false.", metaDataAccessStrategy.isWriteable("readOnly"));
028 assertTrue("Property is readonly, isReadable() should return true.", metaDataAccessStrategy.isReadable("readOnly"));
029 }
030 }