public FlipIf ( bool comparand ) : bool | ||
comparand | bool | The value to compare with. |
리턴 | bool |
public bool FlipIf(bool comparand)
{
int comparandAsInt = Convert.ToInt32(comparand);
int newValueAsInt = Convert.ToInt32(!comparand);
int originalValueAsInt = Interlocked.CompareExchange(ref this.value, newValueAsInt, comparandAsInt);
return originalValueAsInt == comparandAsInt;
}
public void FlipIf_Should_Return_False_When_Flip_Is_Not_Successful() { var b = new AtomicBoolean(true); var flipped = b.FlipIf(false); flipped.Should().BeFalse(); }