User: xtoff
Date: 2010/01/13 12:01 AM

Modified:
 
/InversionOfControl/trunk/src/Castle.MicroKernel.Tests/Facilities/FactorySupport/
  FactorySupportTestCase.cs
 /InversionOfControl/trunk/src/Castle.MicroKernel/Facilities/FactorySupport/
  AccessorActivator.cs, FactoryActivator.cs

Log:
 - fixed bug in factory support facility found by some users.

File Changes:

Directory: 
/InversionOfControl/trunk/src/Castle.MicroKernel/Facilities/FactorySupport/
======================================================================================

File [modified]: AccessorActivator.cs
Delta lines: +1 -1
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/Facilities/FactorySupport/FactoryActivator.cs
       2010-01-13 04:29:27 UTC (rev 6652)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/Facilities/FactorySupport/FactoryActivator.cs
       2010-01-13 07:01:56 UTC (rev 6653)
@@ -98,7 +98,7 @@
                                instance = this.Create(factoryInstance, 
factoryId, instanceCreateMethod, factoryCreate, context);
                        }
                        var type = 
context.Handler.ComponentModel.Implementation;
-                       if (instance != null && type != null && 
type.IsInstanceOfType(instance) == false)
+                       if (instance != null && type != null && 
Model.Implementation.IsInstanceOfType(instance) == false)
                        {
                                String message =

File [modified]: FactoryActivator.cs
Delta lines: +23 -0
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel.Tests/Facilities/FactorySupport/FactorySupportTestCase.cs
   2010-01-13 04:29:27 UTC (rev 6652)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel.Tests/Facilities/FactorySupport/FactorySupportTestCase.cs
   2010-01-13 07:01:56 UTC (rev 6653)
@@ -108,7 +108,18 @@
                        Assert.Throws(typeof(FacilityException), () => 
kernel.Resolve<Pet>());
                }
 
+               [Test]
+               public void Works_for_dependencies()
+               {
+                       kernel.AddFacility("factories", new 
FactorySupportFacility());
+                       kernel.Register(
+                               Component.For<Pet>().ImplementedBy<Cat>()
+                                       .UsingFactoryMethod(() => new Cat()));
+                       kernel.Register(Component.For<UsesPet>());
 
+                       kernel.Resolve<UsesPet>();
+               }
+
                private ComponentModel AddComponent(string key, Type type, 
string factoryMethod)
                {
                        MutableConfiguration config = new 
MutableConfiguration(key);
@@ -184,9 +195,21 @@
                public class Dog : Pet
                {
                }
+
                public class Pet
                {
                }
+
+               public class UsesPet
+               {
+                       public Pet Pet { get; set; }
+
+                       public UsesPet(Pet pet)
+                       {
+                               Pet = pet;
+                       }
+               }
+
                public class PetFactory
                {

Directory: 
/InversionOfControl/trunk/src/Castle.MicroKernel.Tests/Facilities/FactorySupport/
============================================================================================

File [modified]: FactorySupportTestCase.cs
Delta lines: +0 -0
===================================================================

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-commits?hl=en.


Reply via email to