猿问

xunit 如何 N 到 N 双倍几乎相等

我的代码是


   public void Compare_CoolProp_with_CoreMediumDensity() {

        Water coreWater = new Water(Pressure.FromPascals(101325), Temperature.FromKelvins(300));


        GetCoolPropOriginal asd = new GetCoolPropOriginal();

        GetCoolProp asdf = new GetCoolProp();

        Pressure pressure = Pressure.FromPascals(101325);

        Temperature temperature = Temperature.FromKelvins(300);

        double actual = (CoolProp.PropsSI("D", "P", 101325, "T", 300, "Water"));

        double actual2 = asd.GetDensity("P", 101325, "T", 300, "Water");

        double actual3= asdf.GetDensity(pressure, temperature,"Water"); 

        double  expected = coreWater.ThermodynamicState.Density.KilogramsPerCubicMeter;

        //double expected3 = coreWater.ThermodynamicState.Temperature.DegreesCelsius;

        List<double> liste = new List<double>();

        liste.Add(actual);

        liste.Add(actual2);

        liste.Add(actual3);

        liste.Add(expected);

        Boolean boola = true;

        for (int i = 0; i < liste.Count-1; i++)

        {

            for (int j = i+1; j < liste.Count; j++)

            {

                if (!Precision.AlmostEqual(liste[i], liste[j], 0.01))

                {

                    boola = false;

                }  

            }

        }


      Assert.True(boola);

    }

我的代码是工作。但我想在一行中测试我的流体密度和其他功能。我不想要每一个,因为我有很多功能。有没有办法测试这个代码,比如 (assert.true(precision.almostEqual(double,double,双,双,MaximumAbsoluteError)


ITMISS
浏览 176回答 2
2回答

饮歌长啸

当然,这叫做函数的重载void f(int a)void f(int a, int b)然后你可以调用两者:f(3)&nbsp;和:f(2, 8)

米脂

您可以创建自己的方法,其中值将作为params参数给出。public void AssertThatAlmostEqual(double precision, params double[] values){&nbsp; &nbsp; var isAlmostEqual = Precision.AlmostEqual(double.Min(), double.Max(), precision);&nbsp; &nbsp; Assert.IsTrue(isAlmostEqual);}测试中AssertThatAlmostEqual(0.01, actual1, actual2, actual3, expected);
随时随地看视频慕课网APP
我要回答