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 The_behavior_has_state_recovery_level_precedence() { var sut = new AtomicBehavior(); Assert.Equal(BehaviorPrecedence.StateRecovery, sut.Precedence); }