Extract sum shear force logic

This commit is contained in:
Evgeny Redikultsev
2025-03-22 15:02:20 +05:00
parent b2027f92dd
commit aec85e37f5
20 changed files with 753 additions and 109 deletions

View File

@@ -0,0 +1,55 @@
using Moq;
using NUnit.Framework;
using StructureHelperCommon.Models.Forces;
using StructureHelperCommon.Models;
using StructureHelperLogics.Models.BeamShears.Logics;
using StructureHelperLogics.Models.BeamShears;
namespace StructureHelperTests.UnitTests.BeamShearTests
{
namespace YourNamespace.Tests
{
[TestFixture]
public class GetDirectShearForceLogicTests
{
private Mock<IShiftTraceLogger> _mockLogger;
private Mock<ISumForceByShearLoadLogic> _mockSummaryForceLogic;
private GetDirectShearForceLogic _logic;
[SetUp]
public void Setup()
{
_mockLogger = new Mock<IShiftTraceLogger>();
_mockSummaryForceLogic = new Mock<ISumForceByShearLoadLogic>();
var mockAxisAction = new Mock<IBeamShearAxisAction>();
var mockInclinedSection = new Mock<IInclinedSection>();
var mockShearLoad = new Mock<IBeamShearLoad>();
mockAxisAction.Setup(a => a.SupportShearForce).Returns(100.0);
mockAxisAction.Setup(a => a.ShearLoads).Returns(new List<IBeamShearLoad> { mockShearLoad.Object });
mockInclinedSection.Setup(i => i.StartCoord).Returns(2.0);
mockInclinedSection.Setup(i => i.EndCoord).Returns(5.0);
_mockSummaryForceLogic.Setup(s => s.GetSumShearForce(mockShearLoad.Object, 2.0, 5.0)).Returns(50.0);
_logic = new GetDirectShearForceLogic(mockAxisAction.Object, mockInclinedSection.Object, _mockLogger.Object, _mockSummaryForceLogic.Object);
}
[Test]
public void GetShearForce_ShouldReturnCorrectShearForce()
{
// Arrange
// Act
double result = _logic.CalculateShearForce();
// Assert
Assert.That(result, Is.EqualTo(150.0));
_mockLogger.Verify(l => l.AddMessage(It.IsAny<string>(), It.IsAny<TraceLogStatuses>()), Times.AtLeastOnce);
}
}
}
}