public void TestAdd() { // create registration var registration = new MultiRegistration(new[] { new DirectRegistration <DummyService>() }); // assert that there is only a single item in the registration Assert.Single(registration.Registrations); // Add new registration registration.Add(new DirectRegistration <DummyService>()); // assert that item count increased Assert.Equal(2, registration.Registrations.Count); }
public void TestAddInconsistent() { // create registration var registration = new MultiRegistration(new[] { new DirectRegistration <DummyService>().AsTransient() }); // assert that there is only a single item in the registration Assert.Single(registration.Registrations); // Add new registration Assert.Throws <InvalidOperationException>( () => registration.Add(new DirectRegistration <DummyService>().AsScoped())); // assert that there is only a single item in the registration Assert.Single(registration.Registrations); }
public void TestAddRange() { // create registration var registration = new MultiRegistration(new[] { new DirectRegistration <DummyService>() }); // assert that there is only a single item in the registration Assert.Single(registration.Registrations); // Add new registrations registration.AddRange((IEnumerable <IServiceRegistration>) new[] { new DirectRegistration <DummyService>(), new DirectRegistration <DummyService>() }); // assert that item count increased Assert.Equal(3, registration.Registrations.Count); }
public void TestInconsistenceAfterConstruction() { var registration1 = new DirectRegistration <DummyService>().AsSingleton(); var registration2 = new DirectRegistration <DummyService>().AsSingleton(); var registrations = new IServiceRegistration[] { registration1, registration2 }; var multiRegistration = new MultiRegistration(registrations); // change the lifetime of a service registration1.AsScoped(); using (var container = new RootContainer()) { container.Register <IDummyService>(multiRegistration); var enumerable = container.ResolveAll <IDummyService>(); // create services Assert.Throws <InvalidOperationException>(enumerable.ToArray); } }