diff --git a/src/Orchard.Tests/Environment/OrchardStarterTests.cs b/src/Orchard.Tests/Environment/OrchardStarterTests.cs index b24eebe67..7d22ca68c 100644 --- a/src/Orchard.Tests/Environment/OrchardStarterTests.cs +++ b/src/Orchard.Tests/Environment/OrchardStarterTests.cs @@ -1,4 +1,6 @@ -using System.Web.Mvc; +using System.Collections.Generic; +using System.Linq; +using System.Web.Mvc; using Autofac; using NUnit.Framework; using Orchard.Environment; @@ -11,5 +13,34 @@ namespace Orchard.Tests.Environment { var host = OrchardStarter.CreateHost(b => b.RegisterInstance(new ControllerBuilder())); Assert.That(host, Is.TypeOf()); } + + [Test] + public void ContainerResolvesServicesInSameOrderTheyAreRegistered() { + var container = OrchardStarter.CreateHostContainer(builder => { + builder.RegisterType().As(); + builder.RegisterType().As(); + }); + var services = container.Resolve>(); + Assert.That(services.Count(), Is.EqualTo(2)); + Assert.That(services.First(), Is.TypeOf()); + Assert.That(services.Last(), Is.TypeOf()); + } + + [Test] + public void MostRecentlyRegisteredServiceReturnsFromSingularResolve() { + var container = OrchardStarter.CreateHostContainer(builder => { + builder.RegisterType().As(); + builder.RegisterType().As(); + }); + var service = container.Resolve(); + Assert.That(service, Is.Not.Null); + Assert.That(service, Is.TypeOf()); + } + + public interface IServiceA {} + + public class Component1 : IServiceA {} + + public class Component2 : IServiceA {} } -} +} \ No newline at end of file