User: cneuwirt
Date: 2010/01/11 02:51 PM

Modified:
 /InversionOfControl/trunk/src/Castle.MicroKernel.Tests/Registration/
  DynamicParametersTestCase.cs
 /InversionOfControl/trunk/src/Castle.MicroKernel/Handlers/
  AbstractHandler.cs

Log:
 Allow releasing DynamicParameters when multiple DynamicParameters are 
specified.

File Changes:

Directory: /InversionOfControl/trunk/src/Castle.MicroKernel/Handlers/
=====================================================================

File [modified]: AbstractHandler.cs
Delta lines: +18 -9
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel.Tests/Registration/DynamicParametersTestCase.cs
     2010-01-11 21:26:06 UTC (rev 6633)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel.Tests/Registration/DynamicParametersTestCase.cs
     2010-01-11 21:51:00 UTC (rev 6634)
@@ -134,12 +134,17 @@
                [Test]
                public void Can_release_components_with_dynamic_parameters()
                {
-                       bool releaseCalled = false;
+                       int releaseCalled = 0;
                        Kernel.Register(
-                               
Component.For<ClassWithArguments>().LifeStyle.Transient.DynamicParameters((k, 
d) =>
+                               
Component.For<ClassWithArguments>().LifeStyle.Transient
+                               .DynamicParameters((k, d) =>
                                {
                                        d["arg1"] = "foo";
-                                       return kk => releaseCalled = true;
+                                       return kk => ++releaseCalled;
+                               })
+                               .DynamicParameters((k, d) =>
+                               {
+                                       return kk => ++releaseCalled;
                                }));
 
                        var component = Kernel.Resolve<ClassWithArguments>(new 
{ arg2 = 2 });
@@ -147,27 +152,31 @@
                        Assert.AreEqual("foo", component.Arg1);
 
                        Kernel.ReleaseComponent(component);
-                       Assert.IsTrue(releaseCalled);
+                       Assert.AreEqual(2, releaseCalled);
                }
 
                [Test]
                public void Can_release_generics_with_dynamic_parameters()
                {
-                       bool releaseCalled = false;
+                       int releaseCalled = 0;
                        Kernel.Register(
                                
Component.For(typeof(IGenericClassWithParameter<>))
-                               
.ImplementedBy(typeof(GenericClassWithParameter<>))
-                               .LifeStyle.Transient.DynamicParameters((k, d) =>
+                               
.ImplementedBy(typeof(GenericClassWithParameter<>)).LifeStyle.Transient
+                               .DynamicParameters((k, d) =>
                                {
                                        d["name"] = "foo";
-                                       return kk => releaseCalled = true;
+                                       return kk => ++releaseCalled;
+                               })
+                               .DynamicParameters((k, d) =>
+                               {
+                                       return kk => ++releaseCalled;
                                }));
 
                        var component = 
Kernel.Resolve<IGenericClassWithParameter<int>>(new { name = "bar" });
                        Assert.AreEqual("foo", component.Name);
 
                        Kernel.ReleaseComponent(component);
-                       Assert.IsTrue(releaseCalled);
+                       Assert.AreEqual(2, releaseCalled);
                }
        }
 }

Directory: /InversionOfControl/trunk/src/Castle.MicroKernel.Tests/Registration/
===============================================================================

File [modified]: DynamicParametersTestCase.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