hehe, ok, let me know if you get a failing test for that and I'll be happy to fix it for you :)
Jan Limpens wrote: > Bullsh*! This case is not failing, my assertion is incorrect. > Seems to be something more local to my mess here then ;) > > 2009/12/2 Jan Limpens <[email protected] > <mailto:[email protected]>> > > here we go! that's mbunit, but you have this adapted to whatever > framework you use in 1 min > > using Castle.MicroKernel.Registration; > using System.Diagnostics; > using Castle.Windsor; > using MbUnit.Framework; > > namespace ProjectBase.Utils.Tests > { > public class TestContainerOrder > { > [Test] > public void > > Services_should_keep_the_order_they_were_registered_when_retrieved_as_an_array() > { > var container = new WindsorContainer(); > container.Register( > > > Component.For<IService>().ImplementedBy<Service1>().Named(typeof(Service1).Name), > > > Component.For<IService>().ImplementedBy<Service2>().Named(typeof(Service2).Name), > > > Component.For<IService>().ImplementedBy<Service3>().Named(typeof(Service3).Name), > > > Component.For<IConsume>().ImplementedBy<Consumer>().ServiceOverrides(ServiceOverride > .ForKey("Services") > .Eq(new[] > { > typeof > (Service3).Name, > typeof > (Service1).Name, > typeof > (Service2).Name > })) > ); > var consumer = container.Resolve<IConsume>(); > consumer.DoIt(); > AssertEx.That(() => consumer.Services[1].GetType() == > typeof(Service3)); > AssertEx.That(() => consumer.Services[2].GetType() == > typeof(Service1)); > AssertEx.That(() => consumer.Services[3].GetType() == > typeof(Service2)); > } > } > > public interface IService { } > public class Service1 : IService { } > public class Service2 : IService { } > public class Service3 : IService { } > public class Consumer : IConsume > { > public IService[] Services { get; set; } > public void DoIt() > { > foreach (var service in Services) > { > Debug.Write(service.GetType().Name); > } > } > } > > public interface IConsume > { > IService[] Services { get; set; } > void DoIt(); > } > } > > 2009/12/1 Krzysztof Koźmic (2) <[email protected] > <mailto:[email protected]>> > > Jan, > > could you provide a complete, failing test case, so that we're > both on > the same page? > > Krzysztof > > On 1 Gru, 08:46, Krzysztof Koźmic (2) <[email protected] > <mailto:[email protected]>> wrote: > > I see no reason why that works that way. > > > > I'll have a look into it, once I get home. > > > > On 30 Lis, 17:45, Jan Limpens <[email protected] > <mailto:[email protected]>> wrote: > > > > > I register some components like this: > > > > > Component.For<IRoutesSetup>() > > > .ImplementedBy<RoutesSetup>() > > > .LifeStyle.Transient > > > .ServiceOverrides(ServiceOverride > > > > .ForKey("RoutingProviders") > > > .Eq(new[] > > > { > > > typeof > > > (CmsPagesRoutesProvider).Name, > > > typeof > > > (DomainRoutesProvider).Name, > > > typeof > > > (XmlRoutesProvider).Name > > > })) > > > > > but upon resolving IRoutesSetup its RoutingProviders are > in a different > > > order. In xml I pass a list of service references > (list/items style) and > > > this does not seem to happen. Any way to do this fluently > as well? > > > > > -- > > > Jan > > > > > > -- > > You received this message because you are subscribed to the > Google Groups "Castle Project Users" group. > To post to this group, send email to > [email protected] > <mailto:[email protected]>. > To unsubscribe from this group, send email to > [email protected] > <mailto:castle-project-users%[email protected]>. > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. > > > > > > -- > Jan > > > > > -- > Jan > > -- > > You received this message because you are subscribed to the Google > Groups "Castle Project Users" 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-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Castle Project Users" 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-users?hl=en.
