public void TestDegToRad() { var input = new[] { 0.0, -90, 180, 270 }; var target = new[] { 0, -Math.PI * 0.5, Math.PI, 1.5 * Math.PI }; var result = Dsp.DegToRad(input).ToReadOnlyList(); FilterAssert.ListsAreReasonablyClose(target, result); Assert.That(Dsp.DegToRad(Enumerable.Empty <double>()).ToReadOnlyList().Count == 0); Assert.Throws <ArgumentNullException>(() => Dsp.DegToRad(null).ToReadOnlyList()); }
public void TestWrapPhase() { double[] input = { 170, 179, 185, 360, 530, 630, 530, 370, 210, 150, 0 }; double[] target = { 170, 179, -175, 0, 170, -90, 170, 10, -150, 150, 0 }; var input2 = Dsp.DegToRad(input).ToReadOnlyList(); var result = Dsp.WrapPhase(input, true).ToReadOnlyList(); var result2 = Dsp.WrapPhase(input2, false).ToReadOnlyList(); FilterAssert.ListsAreReasonablyClose(result, target); FilterAssert.ListsAreReasonablyClose(Dsp.RadToDeg(result2).ToReadOnlyList(), target, 1e-13); Assert.That(Dsp.UnwrapPhase(new List <double>()).ToReadOnlyList().Count == 0); Assert.Catch <ArgumentNullException>(() => Dsp.UnwrapPhase(null).ToReadOnlyList()); }