public void TestProtectedSets()
{
PropDefFake propDef = new PropDefFake();
Assert.AreEqual("prop", propDef.PropertyName);
propDef.SetPropertyName("myprop");
Assert.AreEqual("myprop", propDef.PropertyName);
Assert.AreEqual(typeof (MyBO), propDef.PropertyType);
propDef.SetPropertyType(typeof (MyRelatedBo));
Assert.AreEqual(typeof (MyRelatedBo), propDef.PropertyType);
Assert.AreEqual("Habanero.Test.MyRelatedBo", propDef.PropertyTypeName);
propDef.SetPropertyTypeName("myproptype");
Assert.AreEqual("myproptype", propDef.PropertyTypeName);
Assert.AreEqual("Habanero.Test", propDef.PropertyTypeAssemblyName);
propDef.SetPropertyTypeAssemblyName("myassembly");
Assert.AreEqual("myassembly", propDef.PropertyTypeAssemblyName);
Assert.IsNull(propDef.PropertyTypeName);
Assert.IsNull(propDef.PropertyType);
Assert.AreEqual("prop", propDef.DatabaseFieldName);
propDef.SetDatabaseFieldName("propfield");
Assert.AreEqual("propfield", propDef.DatabaseFieldName);
Assert.IsNull(propDef.DefaultValue);
propDef.SetPropertyType(typeof (String));
propDef.SetDefaultValue("default");
Assert.AreEqual("default", propDef.DefaultValue);
Assert.AreEqual("default", propDef.DefaultValueString);
propDef.SetDefaultValueString("none");
Assert.AreEqual("none", propDef.DefaultValueString);
Assert.IsFalse(propDef.Compulsory);
propDef.SetCompulsory(true);
Assert.IsTrue(propDef.Compulsory);
Assert.AreEqual(PropReadWriteRule.ReadWrite, propDef.ReadWriteRule);
propDef.SetReadWriteRule(PropReadWriteRule.ReadOnly);
Assert.AreEqual(PropReadWriteRule.ReadOnly, propDef.ReadWriteRule);
Assert.IsTrue(propDef.IsPropValueValid("somestring"));
Assert.AreEqual(typeof (String), propDef.PropertyType);
propDef.SetPropType(typeof (DateTime));
Assert.AreEqual(typeof(DateTime), propDef.PropertyType);
PropDefParameterSQLInfo propDefParameterSQLInfo = new PropDefParameterSQLInfo(propDef);
Assert.AreEqual(ParameterType.Date, propDefParameterSQLInfo.ParameterType);
}