Files
StructureHelper/StructureHelperTests/UnitTests/Ndms/Cracks/EquivalentDiameterLogicTest.cs
2024-05-26 14:05:02 +05:00

37 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LoaderCalculator.Data.Ndms;
using NUnit.Framework;
using StructureHelperLogics.NdmCalculations.Cracking;
namespace StructureHelperTests.UnitTests.Ndms.Cracks
{
public class EquivalentDiameterLogicTest
{
[TestCase(0.025d, 2, 0.025d, 2, 0.025d)]
[TestCase(0.032d, 2, 0.025d, 1, 0.029842055910607741d)]
[TestCase(0.032d, 1, 0.025d, 2, 0.027524820186583671d)]
public void Run_ShouldPass(double fstDiameter, int fstCount, double sndDiameter, int sndCount, double expectedDiameter)
{
//Arrange
List<RebarNdm> rebar = new();
for (int i = 0; i < fstCount; i++)
{
rebar.Add(new RebarNdm() { Area = 0.785d * fstDiameter * fstDiameter });
}
for (int i = 0; i < sndCount; i++)
{
rebar.Add(new RebarNdm() { Area = 0.785d * sndDiameter * sndDiameter });
}
var logic = new EquivalentDiameterLogic() { Rebars = rebar };
//Act
var eqDiametr = logic.GetAverageDiameter();
//Assert
Assert.AreEqual(expectedDiameter, eqDiametr, 0.0001d);
}
}
}