Esempio n. 1
0
 public void DiscardMakesParentWriteable()
 {
     Assert.That(_subTransaction.ParentTransaction.IsWriteable, Is.False);
     Assert.That(_subTransaction.IsDiscarded, Is.False);
     _subTransaction.Discard();
     Assert.That(_subTransaction.IsDiscarded, Is.True);
     Assert.That(_subTransaction.ParentTransaction.IsWriteable, Is.True);
 }
Esempio n. 2
0
        public void OnTransactionDiscard()
        {
            if (_subTransaction != null)
            {
                _subTransaction.Discard();
            }

            if (_parentHierarchyManager != null)
            {
                _parentHierarchyManager.RemoveSubTransaction();
            }
        }
Esempio n. 3
0
        public void LeafTransaction()
        {
            ClientTransaction subTransaction1 = TestableClientTransaction.CreateSubTransaction();
            ClientTransaction subTransaction2 = subTransaction1.CreateSubTransaction();

            Assert.That(TestableClientTransaction.LeafTransaction, Is.SameAs(subTransaction2));
            Assert.That(subTransaction1.LeafTransaction, Is.SameAs(subTransaction2));
            Assert.That(subTransaction2.LeafTransaction, Is.SameAs(subTransaction2));

            subTransaction2.Discard();

            Assert.That(TestableClientTransaction.LeafTransaction, Is.SameAs(subTransaction1));
            Assert.That(subTransaction1.LeafTransaction, Is.SameAs(subTransaction1));

            subTransaction1.Discard();

            Assert.That(TestableClientTransaction.LeafTransaction, Is.SameAs(TestableClientTransaction));
        }
Esempio n. 4
0
        public void ActiveSubTansaction()
        {
            ClientTransaction subTransaction1 = TestableClientTransaction.CreateSubTransaction();

            Assert.That(TestableClientTransaction.SubTransaction, Is.SameAs(subTransaction1));

            ClientTransaction subTransaction2 = subTransaction1.CreateSubTransaction();

            Assert.That(subTransaction1.SubTransaction, Is.SameAs(subTransaction2));
            Assert.That(subTransaction2.SubTransaction, Is.Null);

            subTransaction2.Discard();

            Assert.That(subTransaction1.SubTransaction, Is.Null);
            Assert.That(TestableClientTransaction.SubTransaction, Is.SameAs(subTransaction1));

            subTransaction1.Discard();
            Assert.That(TestableClientTransaction.SubTransaction, Is.Null);
        }
Esempio n. 5
0
        public override void TearDown()
        {
            _clientTransaction.Discard();

            base.TearDown();
        }
Esempio n. 6
0
 /// <summary> Allows the transaction to implement clean up logic. </summary>
 /// <remarks> This method is called when the transaction is no longer needed. </remarks>
 public virtual void Release()
 {
     _wrappedInstance.Discard();
 }