public void Operations_are_executed_in_a_transaction()
        {
            var operation = new TransactionOperation();
            var sut       = new AtomicBehavior().AttachTo(operation);

            sut.Execute();

            Assert.True(operation.ExecutedInTransaction);
        }
        public void Transactions_are_committed_for_successful_operations()
        {
            var operation = new TransactionOperation();
            var sut       = new AtomicBehavior().AttachTo(operation);

            sut.Execute();

            Assert.True(operation.TransactionCommitted);
        }
        public void Transactions_are_not_committed_for_failed_operations()
        {
            var operation = new TransactionOperation { ThrowOnExecute = new Exception() };
            var sut = new AtomicBehavior().AttachTo(operation);

            ExecuteIgnoringErrors(sut.Execute);

            Assert.False(operation.TransactionCommitted);
        }
        public void Transactions_are_committed_for_successful_operations()
        {
            var operation = new TransactionOperation();
            var sut = new AtomicBehavior().AttachTo(operation);

            sut.Execute();

            Assert.True(operation.TransactionCommitted);
        }
        public void Operations_are_executed_in_a_transaction()
        {
            var operation = new TransactionOperation();
            var sut = new AtomicBehavior().AttachTo(operation);

            sut.Execute();

            Assert.True(operation.ExecutedInTransaction);
        }
        public void Transactions_are_not_committed_for_failed_operations()
        {
            var operation = new TransactionOperation {
                ThrowOnExecute = new Exception()
            };
            var sut = new AtomicBehavior().AttachTo(operation);

            ExecuteIgnoringErrors(sut.Execute);

            Assert.False(operation.TransactionCommitted);
        }
        public void The_behavior_has_state_recovery_level_precedence()
        {
            var sut = new AtomicBehavior();

            Assert.Equal(BehaviorPrecedence.StateRecovery, sut.Precedence);
        }
        public void The_behavior_has_state_recovery_level_precedence()
        {
            var sut = new AtomicBehavior();

            Assert.Equal(BehaviorPrecedence.StateRecovery, sut.Precedence);
        }