Sic.Framework/UnitTest/MECF.Framework.Common.Test/MECF/Framework/Common/Math/TimeDomainArithmeticMeanFil...

40 lines
1.2 KiB
C#

using Xunit;
namespace MECF.Framework.Common.SicMath.Tests
{
public class TimeDomainArithmeticMeanFilterTests
{
private IFilter _filterUnderTest;
[Fact()]
public void FilterEmptyBufferTest()
{
_filterUnderTest = new TimeDomainArithmeticMeanFilter(3);
var output = _filterUnderTest.Filter();
Assert.True(double.IsNaN(output), "The output is not double.NaN");
}
[Fact()]
public void FilterZeroFilterDurationTest()
{
_filterUnderTest = new TimeDomainArithmeticMeanFilter(0);
_filterUnderTest.Feed(1);
_filterUnderTest.Feed(2);
_filterUnderTest.Feed(3);
var output = _filterUnderTest.Filter();
Assert.True(output == 3, $"The output {output} is not last value.");
}
[Fact()]
public void FilterNormalTest()
{
_filterUnderTest = new TimeDomainArithmeticMeanFilter(3);
_filterUnderTest.Feed(1);
_filterUnderTest.Feed(2);
_filterUnderTest.Feed(3);
var output = _filterUnderTest.Filter();
Assert.True(output == 2, $"The output {output} is not 2.");
}
}
}