From: Michael D. <mik...@us...> - 2004-10-23 15:01:30
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/PropertyTest In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20833/NHibernate.Test/PropertyTest Added Files: FieldGetterFixture.cs Log Message: NH-134 --- NEW FILE: FieldGetterFixture.cs --- using System; using NHibernate.Property; using NHibernate.Util; using NUnit.Framework; namespace NHibernate.Test.PropertyTest { /// <summary> /// This is more of a test of ReflectHelper.GetGetter() to make sure that /// it will find the correct IGetter when a Property does not exist. /// </summary> [TestFixture] public class FieldGetterFixture { FieldGetterFixture.FieldGetterClass obj = new FieldGetterFixture.FieldGetterClass(); [Test] public void NoNamingStrategy() { IGetter fieldGetter = ReflectHelper.GetGetter( typeof(FieldGetterFixture.FieldGetterClass), "Id" ); Assert.IsNotNull( fieldGetter, "should have found getter" ); Assert.AreEqual( typeof(FieldGetter), fieldGetter.GetType(), "IGetter should be for a field." ); Assert.AreEqual( typeof(Int32), fieldGetter.ReturnType, "returns Int32." ); Assert.IsNull( fieldGetter.Property, "no PropertyInfo for fields." ); Assert.IsNull( fieldGetter.PropertyName, "no Property Names for fields." ); Assert.AreEqual( 7, fieldGetter.Get( obj ), "Get() for Int32" ); } [Test] public void CamelCaseNamingStrategy() { IGetter fieldGetter = ReflectHelper.GetGetter( typeof(FieldGetterFixture.FieldGetterClass), "PropertyOne" ); Assert.IsNotNull( fieldGetter, "should have found getter" ); Assert.AreEqual( typeof(FieldGetter), fieldGetter.GetType(), "IGetter should be for a field." ); Assert.AreEqual( typeof(DateTime), fieldGetter.ReturnType, "returns DateTime." ); Assert.IsNull( fieldGetter.Property, "no PropertyInfo for fields." ); Assert.IsNull( fieldGetter.PropertyName, "no Property Names for fields." ); Assert.AreEqual( DateTime.Parse( "2000-01-01" ), fieldGetter.Get( obj ), "Get() for DateTime" ); } [Test] public void CamelCaseUnderscoreNamingStrategy() { IGetter fieldGetter = ReflectHelper.GetGetter( typeof(FieldGetterFixture.FieldGetterClass), "PropertyTwo" ); Assert.IsNotNull( fieldGetter, "should have found getter" ); Assert.AreEqual( typeof(FieldGetter), fieldGetter.GetType(), "IGetter should be for a field." ); Assert.AreEqual( typeof(Boolean), fieldGetter.ReturnType, "returns Boolean." ); Assert.IsNull( fieldGetter.Property, "no PropertyInfo for fields." ); Assert.IsNull( fieldGetter.PropertyName, "no Property Names for fields." ); Assert.AreEqual( true, fieldGetter.Get( obj ), "Get() for Boolean" ); } [Test] public void PascalCaseMUnderscoreNamingStrategy() { IGetter fieldGetter = ReflectHelper.GetGetter( typeof(FieldGetterFixture.FieldGetterClass), "PropertyThree" ); Assert.IsNotNull( fieldGetter, "should have found getter" ); Assert.AreEqual( typeof(FieldGetter), fieldGetter.GetType(), "IGetter should be for a field." ); Assert.AreEqual( typeof(TimeSpan), fieldGetter.ReturnType, "returns DateTime." ); Assert.IsNull( fieldGetter.Property, "no PropertyInfo for fields." ); Assert.IsNull( fieldGetter.PropertyName, "no Property Names for fields." ); Assert.AreEqual( new TimeSpan( DateTime.Parse( "2001-01-01" ).Ticks ), fieldGetter.Get( obj ), "Get() for TimeSpan" ); } public class FieldGetterClass { private int Id = 7; private DateTime propertyOne = DateTime.Parse( "2000-01-01" ); private bool _propertyTwo = true; private TimeSpan m_PropertyThree = new TimeSpan( DateTime.Parse("2001-01-01" ).Ticks ); } } } |