Beispiel #1
0
    public void ManyChecks()
    {
        var alerter = new ThresholdAlerter();
        var handler = new HandlerMock();

        for (int i = 0; i < 1000; i += 10)
        {
            alerter.Add(i, handler.AlertHandler);
        }
        for (int i = 0; i < 10000; i++)
        {
            alerter.Check(i);
        }
        Assert.Equal(100, handler.CallCount);
        Assert.Equal(990, handler.ReachedThreshold);
    }
Beispiel #2
0
    public void AlertWhenValueGoesDownAndUpThreshold()
    {
        var handler = new HandlerMock();
        var alerter = new ThresholdAlerter();

        alerter.Add(10, handler.AlertHandler);
        alerter.Add(20, handler.AlertHandler);

        // Alert
        alerter.Check(20);
        Assert.Equal(1, handler.CallCount);
        Assert.Equal(20, handler.ReachedThreshold);
        // No alert
        alerter.Check(0);
        Assert.Equal(1, handler.CallCount);
        // Alert again
        alerter.Check(17);
        Assert.Equal(2, handler.CallCount);
        Assert.Equal(10, handler.ReachedThreshold);
    }