using Moq; using NUnit.Framework; using StructureHelperCommon.Infrastructures.Exceptions; using StructureHelperCommon.Models.Shapes; using StructureHelperLogics.NdmCalculations.Analyses.ByForces; using StructureHelperLogics.NdmCalculations.Analyses.ByForces.LimitCurve.Factories; namespace StructureHelperTests.UnitTests.Calcuators { [TestFixture] public class LimitCurveLogicTests { [Test] public void GetPoints_ValidPoints_ReturnsTransformedPoints() { // Arrange var getPredicateLogic = new Mock(); getPredicateLogic.Setup(p => p.GetPredicate()).Returns(point => point.X >= 0.5d);// var limitCurveLogic = new LimitCurveLogic(getPredicateLogic.Object); var inputPoints = new List { new Point2D { X = 1, Y = 2 }, new Point2D { X = 3, Y = 4 } // Add more points as needed }; // Act var result = limitCurveLogic.GetPoints(inputPoints); // Assert Assert.That(result, Is.Not.Null); Assert.That(result.Count, Is.EqualTo(inputPoints.Count)); for (int i = 0; i < inputPoints.Count; i++) { Assert.That(result[i].X, Is.EqualTo(0.5d).Within(0.01d)); Assert.That(result[i].Y, Is.EqualTo(inputPoints[i].Y / inputPoints[i].X * 0.5d).Within(0.01d)); } } } }