public async Task Should_invoke_ends_in_reverse_order_of_the_begins() { var services = new ServiceCollection(); var order = new List <string>(); var firstUnitOfWork = new OrderAwareUnitOfWork("first", order); var secondUnitOfWork = new OrderAwareUnitOfWork("second", order); services.AddTransient <IManageUnitsOfWork>(sp => firstUnitOfWork); services.AddTransient <IManageUnitsOfWork>(sp => secondUnitOfWork); await InvokeBehavior(services); Assert.AreEqual("first", order[0]); Assert.AreEqual("second", order[1]); Assert.AreEqual("second", order[2]); Assert.AreEqual("first", order[3]); }
public async Task Should_invoke_ends_in_reverse_order_of_the_begins() { var builder = new FakeBuilder(); var order = new List <string>(); var firstUnitOfWork = new OrderAwareUnitOfWork("first", order); var secondUnitOfWork = new OrderAwareUnitOfWork("second", order); builder.Register <IManageUnitsOfWork>(firstUnitOfWork, secondUnitOfWork); await InvokeBehavior(builder); Assert.AreEqual("first", order[0]); Assert.AreEqual("second", order[1]); Assert.AreEqual("second", order[2]); Assert.AreEqual("first", order[3]); }
public async Task Should_invoke_ends_in_reverse_order_of_the_begins() { var builder = new FakeBuilder(); var order = new List<string>(); var firstUnitOfWork = new OrderAwareUnitOfWork("first", order); var secondUnitOfWork = new OrderAwareUnitOfWork("second", order); builder.Register<IManageUnitsOfWork>(firstUnitOfWork, secondUnitOfWork); await InvokeBehavior(builder); Assert.AreEqual("first", order[0]); Assert.AreEqual("second", order[1]); Assert.AreEqual("second", order[2]); Assert.AreEqual("first", order[3]); }