System.Transactions.Tests.TransactionScopeTest.ExplicitTransaction4 C# (CSharp) Метод

ExplicitTransaction4() приватный Метод

private ExplicitTransaction4 ( ) : void
Результат void
        public void ExplicitTransaction4()
        {
            Assert.Null(Transaction.Current);
            CommittableTransaction ct = new CommittableTransaction();
            Transaction oldTransaction = Transaction.Current;

            /* Not setting ambient transaction
             Transaction.Current = ct;
             */

            IntResourceManager irm = new IntResourceManager(1);

            using (TransactionScope scope = new TransactionScope(ct))
            {
                Assert.Equal(ct, Transaction.Current);

                irm.Value = 2;
                scope.Complete();
            }

            Assert.Equal(oldTransaction, Transaction.Current);
            Assert.Equal(TransactionStatus.Active, ct.TransactionInformation.Status);
            Assert.Equal(1, irm.Actual);

            ct.Commit();
            Assert.Equal(2, irm.Actual);
            Assert.Equal(TransactionStatus.Committed, ct.TransactionInformation.Status);

            irm.Check(1, 1, 0, 0, "irm");
        }