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);
        }