public void ConversionTests() { NetworkParameter s = NetworkParameter.FromPolarDegree(100, 180); s.Magnitude_dB.Should().Be(20); s.Phase_deg.Should().Be(180); NetworkParameter s2 = NetworkParameter.FromPolarDecibelDegree(20, 180); s2.Magnitude.Should().Be(100); s.Phase_deg.Should().Be(180); NetworkParameter s3 = new NetworkParameter(10, 10); s3.Phase_deg.Should().Be(45); NetworkParameter s4 = new NetworkParameter(10, -10); s4.Phase_deg.Should().Be(-45); NetworkParameter s5 = NetworkParameter.FromPolarDegree(100 * Math.Sqrt(2), 45); s5.Real.Should().BeApproximately(100, .001); s5.Imaginary.Should().BeApproximately(100, .001); }
public void ComparisonTests() { NetworkParameter s = NetworkParameter.FromPolarDecibelDegree(20, 0); NetworkParameter s2 = NetworkParameter.FromPolarDecibelDegree(10, 180); //(s > s2).Should().BeTrue("magnitude is prioritized"); NetworkParameter s_0 = NetworkParameter.FromPolarDecibelDegree(20, 10); //(s < s_0).Should().BeTrue("greater angle"); NetworkParameter s3 = NetworkParameter.FromPolarDecibelDegree(20, 100); NetworkParameter s4 = NetworkParameter.FromPolarDegree(100, 100); (s3 == s4).Should().BeTrue(); }
private List <NetworkParameter> ParseParameters(List <string> data) { List <NetworkParameter> parameters = new List <NetworkParameter>(); for (int j = 0; j < data.Count; j += 2) { double val1 = 0, val2 = 0; try { val1 = double.Parse(data[j]); val2 = double.Parse(data[j + 1]); } catch (FormatException) { ThrowHelper("Data", "Invalid data format"); } NetworkParameter param = new NetworkParameter(); switch (Options.Format) { case FormatType.DecibelAngle: param = NetworkParameter.FromPolarDecibelDegree(val1, val2); break; case FormatType.MagnitudeAngle: param = NetworkParameter.FromPolarDegree(val1, val2); break; case FormatType.RealImaginary: param = new NetworkParameter(val1, val2); break; } parameters.Add(param); } return(parameters); }