Example #1
0
        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]);
        }
Example #2
0
        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]);
        }