public void DataStream_must_calculate_correct_ewma_for_normal_decay()
{
var d0 = new EWMA(1000.0D, 2.0 / (1 + 10));
Assert.True(d0.Value >= 1000.0D - 0.01 && d0.Value <= 1000.0D + 0.01);
var d1 = d0 + 10.0d;
Assert.True(d1.Value >= 820.0D - 0.01 && d1.Value <= 820.0D + 0.01);
var d2 = d1 + 10.0d;
Assert.True(d2.Value >= 672.73D - 0.01 && d2.Value <= 672.73D + 0.01);
var d3 = d2 + 10.0d;
Assert.True(d3.Value >= 552.23D - 0.01 && d3.Value <= 552.23D + 0.01);
var d4 = d3 + 10.0d;
Assert.True(d4.Value >= 453.64D - 0.01 && d4.Value <= 453.64D + 0.01);
var dn = d0;
for (var i = 0; i < 100; i++)
dn = dn + 10.0d;
Assert.True(dn.Value >= 10.0D - 0.1 && dn.Value <= 10.0D + 0.1);
}