public void Raise_ValueGenerated_Event_And_Check_Value_Interval()
{
// Arrange
const int intervalBoundary = -112;
int? result = null;
var generator = new Generator();
var resetEvent = new ManualResetEventSlim(false);
void ValueGeneratedHandler(object sender, int value)
{
result = value;
resetEvent.Set();
(sender as Generator)?.Stop();
}
generator.ValueGenerated += ValueGeneratedHandler;
// Act
generator.Start(intervalBoundary, intervalBoundary, 1, 1);
// Assert
Assert.AreEqual(resetEvent.Wait(TimeSpan.FromMilliseconds(500)), true);
Assert.AreEqual(intervalBoundary, result);
generator.ValueGenerated -= ValueGeneratedHandler;
}