50 lines
2.2 KiB
C#
50 lines
2.2 KiB
C#
using LoaderCalculator.Tests.Infrastructures.Logics;
|
|
using Moq;
|
|
using NUnit.Framework;
|
|
using StructureHelperCommon.Infrastructures.Enums;
|
|
using StructureHelperCommon.Models.Forces;
|
|
using StructureHelperCommon.Services.Forces;
|
|
using StructureHelperLogics.Models.Calculations.CalculationProperties;
|
|
using StructureHelperLogics.Models.Templates.CrossSections.RCs;
|
|
using StructureHelperLogics.Models.Templates.RCs;
|
|
using StructureHelperLogics.NdmCalculations.Analyses.ByForces;
|
|
using StructureHelperLogics.NdmCalculations.Cracking;
|
|
using StructureHelperLogics.NdmCalculations.Primitives;
|
|
using StructureHelperLogics.NdmCalculations.Triangulations;
|
|
using StructureHelperLogics.Services.NdmPrimitives;
|
|
|
|
namespace StructureHelperTests.FunctionalTests.Ndms.Calculators.CrackCalculatorTests
|
|
|
|
{
|
|
internal class CrackCalculatorTest
|
|
{
|
|
private ITriangulatePrimitiveLogic triangulateLogic;
|
|
|
|
[TestCase(0.4d, 0.6d, 0.012d, 0.025d, 2, 2, 0.81d)]
|
|
public void Run_ShouldPass(double width, double height, double topDiametr, double bottomDiametr, int widthCount, int heightCount, double expectedFactor)
|
|
{
|
|
//Arrange
|
|
var template = new RectangleBeamTemplate(width, height) { TopDiameter = topDiametr, BottomDiameter = bottomDiametr, WidthCount = widthCount, HeightCount = heightCount };
|
|
var newSection = new SectionTemplate(new RectGeometryLogic(template)).GetCrossSection();
|
|
var ndmPrimitives = newSection.SectionRepository.Primitives;
|
|
triangulateLogic = new TriangulatePrimitiveLogic()
|
|
{
|
|
Primitives = ndmPrimitives,
|
|
LimitState = LimitStates.SLS,
|
|
CalcTerm = CalcTerms.ShortTerm
|
|
};
|
|
var ndms = triangulateLogic.GetNdms();
|
|
var calculator = new CrackForceCalculator();
|
|
calculator.EndTuple = new ForceTuple() { Mx = -50e3d, My = -50e3d, Nz = 0d };
|
|
calculator.NdmCollection = ndms;
|
|
//Act
|
|
calculator.Run();
|
|
var result = (CrackForceResult)calculator.Result;
|
|
//Assert
|
|
Assert.NotNull(result);
|
|
Assert.IsTrue(result.IsValid);
|
|
Assert.AreEqual(expectedFactor, result.FactorOfCrackAppearance, 0.01d);
|
|
}
|
|
}
|
|
}
|