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.