From: <fab...@us...> - 2009-05-18 22:28:42
|
Revision: 4344 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4344&view=rev Author: fabiomaulo Date: 2009-05-18 22:28:37 +0000 (Mon, 18 May 2009) Log Message: ----------- ActivatorObjectsFactory implemented Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Bytecode/ActivatorObjectsFactory.cs trunk/nhibernate/src/NHibernate.Test/Bytecode/ActivatorObjectFactoryFixture.cs Modified: trunk/nhibernate/src/NHibernate/Bytecode/ActivatorObjectsFactory.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Bytecode/ActivatorObjectsFactory.cs 2009-05-18 22:20:04 UTC (rev 4343) +++ trunk/nhibernate/src/NHibernate/Bytecode/ActivatorObjectsFactory.cs 2009-05-18 22:28:37 UTC (rev 4344) @@ -6,17 +6,17 @@ { public object CreateInstance(System.Type type) { - throw new NotImplementedException(); + return Activator.CreateInstance(type); } public object CreateInstance(System.Type type, bool nonPublic) { - throw new NotImplementedException(); + return Activator.CreateInstance(type, nonPublic); } public object CreateInstance(System.Type type, params object[] ctorArgs) { - throw new NotImplementedException(); + return Activator.CreateInstance(type, ctorArgs); } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/Bytecode/ActivatorObjectFactoryFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Bytecode/ActivatorObjectFactoryFixture.cs 2009-05-18 22:20:04 UTC (rev 4343) +++ trunk/nhibernate/src/NHibernate.Test/Bytecode/ActivatorObjectFactoryFixture.cs 2009-05-18 22:28:37 UTC (rev 4344) @@ -4,7 +4,7 @@ namespace NHibernate.Test.Bytecode { - [TestFixture, Ignore("Not implemented yet.")] + [TestFixture] public class ActivatorObjectFactoryFixture { public class WithOutPublicParameterLessCtor @@ -27,21 +27,28 @@ public string Something { get; set; } } + protected virtual IObjectsFactory GetObjectsFactory() + { + return new ActivatorObjectsFactory(); + } + [Test] public void CreateInstanceDefCtor() { - var of = new ActivatorObjectsFactory(); + IObjectsFactory of = GetObjectsFactory(); Assert.Throws<ArgumentNullException>(() => of.CreateInstance(null)); - Assert.Throws<ArgumentNullException>(() => of.CreateInstance(typeof(WithOutPublicParameterLessCtor))); + Assert.Throws<MissingMethodException>(() => of.CreateInstance(typeof(WithOutPublicParameterLessCtor))); var instance = of.CreateInstance(typeof(PublicParameterLessCtor)); Assert.That(instance, Is.Not.Null); Assert.That(instance, Is.InstanceOf<PublicParameterLessCtor>()); } + + [Test] public void CreateInstanceWithNoPublicCtor() { - var of = new ActivatorObjectsFactory(); + IObjectsFactory of = GetObjectsFactory(); Assert.Throws<ArgumentNullException>(() => of.CreateInstance(null, false)); var instance = of.CreateInstance(typeof(WithOutPublicParameterLessCtor), true); Assert.That(instance, Is.Not.Null); @@ -51,7 +58,7 @@ [Test] public void CreateInstanceOfValueType() { - var of = new ActivatorObjectsFactory(); + IObjectsFactory of = GetObjectsFactory(); var instance = of.CreateInstance(typeof(ValueType), true); Assert.That(instance, Is.Not.Null); Assert.That(instance, Is.InstanceOf<ValueType>()); @@ -60,7 +67,7 @@ [Test] public void CreateInstanceWithArguments() { - var of = new ActivatorObjectsFactory(); + IObjectsFactory of = GetObjectsFactory(); Assert.Throws<ArgumentNullException>(() => of.CreateInstance(null, new[] {1})); var value = "a value"; var instance = of.CreateInstance(typeof(WithOutPublicParameterLessCtor), new[]{value}); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |