@ContinuousIntegrationTest(estimatedDuration = 0.0)
@Test(timeout=60000)
public void testNoisyFixedPosition()
{
YoVariableRegistry registry = new YoVariableRegistry("testRegistry");
YoDouble alpha = new YoDouble("alpha", registry);
alpha.set(0.8);
YoDouble positionVariable = new YoDouble("positionVariable", registry);
AlphaFilteredWrappingYoVariable alphaFilteredWrappingYoVariable = new AlphaFilteredWrappingYoVariable("alphaFilteredWrappingYoVariable", "", registry, positionVariable, alpha, 0.0, 20.0);
double pseudoNoise = 0;
positionVariable.set(10.0);
for (int i = 0; i < 10000; i++)
{
if (i % 2 == 0)
{
pseudoNoise = random.nextDouble();
}
positionVariable.add(Math.pow(-1, i) * pseudoNoise);
alphaFilteredWrappingYoVariable.update();
}
assertEquals(10.0, alphaFilteredWrappingYoVariable.getDoubleValue(), 1.0);
}