public void Create_WithCustomerOlderThan25_ShouldBeNotEmpty() { var container = new ServiceContainer(); var directory = AppDomain.CurrentDomain.BaseDirectory; var finder = AssemblyFinder.Builder.UsePath(directory).Create; container.RegisterFrom<ServiceLocatorCompositionRoot>(); var assemblies = finder.GetAssembliesTagged<AssemblyTagAttribute>(); container.RegisterFactory(assemblies); container.Register<IDoSomething, DoSomething>(typeof(DoSomething).FullName); var factory = container.GetInstance<IObjectFactory>(); var customer = new Customer(){Age = 25}; var services = factory.Create<Customer, IDoSomething>(customer); services.ShouldNotBeEmpty(); services.Length.ShouldBe(1); services[0].ShouldBeAssignableTo<IDoSomething>(); services[0].ShouldBeOfType<DoSomething>(); }
public void Create_WithCustomerOlderThan25_ShouldBeNotEmpty() { var locator = new ServiceLocator(); locator.Register(typeof(IDoSomething), new DoSomething(), typeof(DoSomething).FullName); var config = new AutoObjectFactoryConfigurationSource(); var factory = ObjectFactory.Builder.UseLocator(locator).UseConfigurationSource(new IObjectFactoryConfigurationSource[]{ config }).Create; var customer = new Customer() { Age = 25 }; var services = factory.Create<Customer, IDoSomething>(customer); services.ShouldNotBeEmpty(); services.Length.ShouldBe(1); services[0].ShouldBeAssignableTo<IDoSomething>(); services[0].ShouldBeOfType<DoSomething>(); }