public void OnEvent(FizzBuzzEvent @event, long sequence, bool endOfBatch) { switch (_fizzBuzzStep) { case FizzBuzzStep.Fizz: @event.Fizz = (@event.Value % 3) == 0; break; case FizzBuzzStep.Buzz: @event.Buzz = (@event.Value % 5) == 0; break; case FizzBuzzStep.FizzBuzz: if (@event.Fizz && @event.Buzz) { _fizzBuzzCounter.WriteFullFence(_fizzBuzzCounter.ReadFullFence() + 1); } break; } //System.Console.WriteLine(sequence); if (_ce != null && sequence == _iterations) { _ce.Signal(); } }
public void ReadFullFenceReturnsInitialValue() { Assert.AreEqual(InitialValue, _volatile.ReadFullFence()); }