using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; using conductortension; namespace Test { [TestFixture] public class ConductorTensionFixture { private conductortension.Core.calStressLoadNew basicInput; public static conductortension.Core.calStressLoadNew setInput() { conductortension.Core.calStressLoadNew t_basicInput; t_basicInput = new conductortension.Core.calStressLoadNew(); t_basicInput.WaiJing = 33.8; t_basicInput.ZhongLiang = 2078.4; t_basicInput.SheJiFengSuGaoDu = 10; t_basicInput.PingJunGaoDu = 20; t_basicInput.MoLiang = 63700; t_basicInput.XianPengZhang = 20.8 * 1e-6; t_basicInput.AnQuan = 2.5; t_basicInput.JieMianJi = 672.81; t_basicInput.BaoZhengPoDuanZhangLiXiShu = 95; t_basicInput.EDingLaDuanLi = 142680.5 / 0.95; t_basicInput.NianPingJunXishu = 25; t_basicInput.PingFeng = 0; t_basicInput.PingBing = 0; t_basicInput.PingWen = 15; t_basicInput.FengFeng = 27; t_basicInput.FengBing = 0; t_basicInput.FengWen = -5; t_basicInput.DiFeng = 0; t_basicInput.DiBing = 0; t_basicInput.DiWen = -20; t_basicInput.BingFeng = 10; t_basicInput.BingBing = 10; t_basicInput.BingWen = -5; return t_basicInput; } [OneTimeSetUp] public void Setup() { basicInput = setInput(); } [Test] public void BigWindLoad()//大风综合荷载 { conductortension.Core.calStressLoadNew condition = basicInput; double Hezai=0; condition.DaiBing = condition.FengBing; condition.DaiFeng = condition.FengFeng; //double wind_velocity = 0;//折算到平均高下的风速 //wind_velocity = Math.Round(condition.DaiFeng * Math.Pow(condition.PingJunGaoDu / condition.SheJiFengSuGaoDu, 0.16), 2); //condition.DaiFeng = wind_velocity; condition.DaiZheSuanFengSu = true; conductortension.Core.CalHeZai(condition, ref Hezai); Assert.AreEqual(25.8280, Hezai, 1e-4); } [Test] public void AverageTemperatureLoad()//平均温综合荷载 { conductortension.Core.calStressLoadNew condition = basicInput; double Hezai = 0; condition.DaiBing = condition.PingBing; condition.DaiFeng = condition.PingFeng; conductortension.Core.CalHeZai(condition, ref Hezai); Assert.AreEqual(20.3821, Hezai, 1e-4); } [Test] public void IceLoad()//覆冰综合荷载 { conductortension.Core.calStressLoadNew condition = basicInput; double Hezai = 0; condition.DaiFeng = condition.BingFeng; condition.DaiBing = condition.BingBing; condition.DaiZheSuanFengSu = false; conductortension.Core.CalHeZai(condition, ref Hezai); Assert.AreEqual(32.7762, Hezai, 1e-4); } [Test] public void FxFunctionBigWind()//计算大风下的Fx { conductortension.Core.calStressLoadNew condition=basicInput; condition.DaiBing = condition.FengBing; condition.DaiFeng = condition.FengFeng; condition.DaiWen = condition.FengWen; double Hezai=0; //double wind_velocity; //wind_velocity = Math.Round(condition.DaiFeng * Math.Pow(condition.PingJunGaoDu / condition.SheJiFengSuGaoDu, 0.16), 2); //condition.DaiFeng = wind_velocity; condition.DaiZheSuanFengSu = true; conductortension.Core.CalHeZai(condition, ref Hezai); double val; val = conductortension.Core.Fx(condition.MoLiang, Hezai, condition.BaoZhengPoDuanZhangLiXiShu * condition.EDingLaDuanLi/100 / condition.AnQuan, condition.XianPengZhang, condition.JieMianJi, condition.DaiWen,1); Assert.AreEqual(0.000543576 - 78.20182267, val, 1e-4); } [Test] public void FxFunctionAverageTemperature()//平均温下的Fx { conductortension.Core.calStressLoadNew condition = basicInput; condition.DaiBing = condition.PingBing; condition.DaiFeng = condition.PingFeng; condition.DaiWen = condition.PingWen; double Hezai = 0; condition.DaiFeng = 0; conductortension.Core.CalHeZai(condition, ref Hezai); double val; val = conductortension.Core.Fx(condition.MoLiang, Hezai, condition.BaoZhengPoDuanZhangLiXiShu * condition.EDingLaDuanLi / 100 *condition.NianPingJunXishu/100, condition.XianPengZhang, condition.JieMianJi, condition.DaiWen,1); Assert.AreEqual(0.0008666 - 72.89103917, val, 1e-4); } [Test] public void FxFunctionIce()//覆冰下的Fx { conductortension.Core.calStressLoadNew condition = basicInput; condition.DaiBing = condition.BingBing; condition.DaiFeng = condition.BingFeng; condition.DaiWen = condition.BingWen; condition.DaiZheSuanFengSu = false; double Hezai = 0; conductortension.Core.CalHeZai(condition, ref Hezai); double val; val = conductortension.Core.Fx(condition.MoLiang, Hezai, condition.BaoZhengPoDuanZhangLiXiShu * condition.EDingLaDuanLi / 100 / condition.AnQuan, condition.XianPengZhang, condition.JieMianJi, condition.DaiWen,1); Assert.AreEqual(0.000875377 - 78.20182267, val, 1e-4); } [Test] public void HighTemperateureTension()//高温下张力 { conductortension.Core.calStressLoadNew condition = basicInput; condition.DaiFeng = 0; condition.DaiWen = 50; condition.DaiBing = 0; condition.DangJu = 300; double zhangli = 0; conductortension.Core.CalZhangLi(condition, ref zhangli); Assert.AreEqual(29374, zhangli, 1); } [Test] public void LowTemperatureTension()//低温下张力 { conductortension.Core.calStressLoadNew condition = basicInput; condition.DaiFeng = 0; condition.DaiWen = -20; condition.DaiBing = 0; condition.DangJu = 200; double zhangli = 0; conductortension.Core.CalZhangLi(condition, ref zhangli); Assert.AreEqual(53800, zhangli, 1); } [Test] public void IceTension()//覆冰下张力 { conductortension.Core.calStressLoadNew condition = basicInput; condition.DaiFeng = 10; condition.DaiWen = -5; condition.DaiBing = 10; condition.DangJu = 200; condition.DaiZheSuanFengSu = false; double zhangli = 0; conductortension.Core.CalZhangLi(condition, ref zhangli); Assert.AreEqual(55284, zhangli, 1); } } }