private static MacroStabilityInwardsSlidingCurve ReadSlidingCurve(MacroStabilityInwardsCalculationOutputEntity entity) { var leftCircle = new MacroStabilityInwardsSlidingCircle(new Point2D(entity.SlidingCurveLeftSlidingCircleCenterX.ToNullAsNaN(), entity.SlidingCurveLeftSlidingCircleCenterY.ToNullAsNaN()), entity.SlidingCurveLeftSlidingCircleRadius.ToNullAsNaN(), Convert.ToBoolean(entity.SlidingCurveLeftSlidingCircleIsActive), entity.SlidingCurveLeftSlidingCircleNonIteratedForce.ToNullAsNaN(), entity.SlidingCurveLeftSlidingCircleIteratedForce.ToNullAsNaN(), entity.SlidingCurveLeftSlidingCircleDrivingMoment.ToNullAsNaN(), entity.SlidingCurveLeftSlidingCircleResistingMoment.ToNullAsNaN()); var rightCircle = new MacroStabilityInwardsSlidingCircle(new Point2D(entity.SlidingCurveRightSlidingCircleCenterX.ToNullAsNaN(), entity.SlidingCurveRightSlidingCircleCenterY.ToNullAsNaN()), entity.SlidingCurveRightSlidingCircleRadius.ToNullAsNaN(), Convert.ToBoolean(entity.SlidingCurveRightSlidingCircleIsActive), entity.SlidingCurveRightSlidingCircleNonIteratedForce.ToNullAsNaN(), entity.SlidingCurveRightSlidingCircleIteratedForce.ToNullAsNaN(), entity.SlidingCurveRightSlidingCircleDrivingMoment.ToNullAsNaN(), entity.SlidingCurveRightSlidingCircleResistingMoment.ToNullAsNaN()); MacroStabilityInwardsSlice[] slices = new MacroStabilityInwardsSliceCollectionXmlSerializer().FromXml(entity.SlidingCurveSliceXML); return(new MacroStabilityInwardsSlidingCurve(leftCircle, rightCircle, slices, entity.SlidingCurveNonIteratedHorizontalForce.ToNullAsNaN(), entity.SlidingCurveIteratedHorizontalForce.ToNullAsNaN())); }
public void GivenArrayOfMacroStabilityInwardsSlices_WhenConvertingRoundTrip_ThenEqualMacroStabilityInwardsSlices() { // Given var random = new Random(31); var original = new[] { new MacroStabilityInwardsSlice( new Point2D(double.NaN, double.NaN), new Point2D(double.NaN, double.NaN), new Point2D(double.NaN, double.NaN), new Point2D(double.NaN, double.NaN), new MacroStabilityInwardsSlice.ConstructionProperties()), new MacroStabilityInwardsSlice( new Point2D(random.NextDouble(), random.NextDouble()), new Point2D(random.NextDouble(), random.NextDouble()), new Point2D(random.NextDouble(), random.NextDouble()), new Point2D(random.NextDouble(), random.NextDouble()), new MacroStabilityInwardsSlice.ConstructionProperties { Cohesion = random.NextDouble(), FrictionAngle = random.NextDouble(), CriticalPressure = random.NextDouble(), OverConsolidationRatio = random.NextDouble(), Pop = random.NextDouble(), DegreeOfConsolidationPorePressureSoil = random.NextDouble(), DegreeOfConsolidationPorePressureLoad = random.NextDouble(), Dilatancy = random.NextDouble(), ExternalLoad = random.NextDouble(), HydrostaticPorePressure = random.NextDouble(), LeftForce = random.NextDouble(), LeftForceAngle = random.NextDouble(), LeftForceY = random.NextDouble(), RightForce = random.NextDouble(), RightForceAngle = random.NextDouble(), RightForceY = random.NextDouble(), LoadStress = random.NextDouble(), NormalStress = random.NextDouble(), PorePressure = random.NextDouble(), HorizontalPorePressure = random.NextDouble(), VerticalPorePressure = random.NextDouble(), PiezometricPorePressure = random.NextDouble(), EffectiveStress = random.NextDouble(), ExcessPorePressure = random.NextDouble(), ShearStress = random.NextDouble(), SoilStress = random.NextDouble(), TotalPorePressure = random.NextDouble(), TotalStress = random.NextDouble(), Weight = random.NextDouble() }) }; var serializer = new MacroStabilityInwardsSliceCollectionXmlSerializer(); // When string xml = serializer.ToXml(original); MacroStabilityInwardsSlice[] roundtripResult = serializer.FromXml(xml); // Then TestHelper.AssertCollectionsAreEqual(original, roundtripResult, new MacroStabilityInwardsSliceComparer()); }
private static void AssertSlidingCurveProperties(MacroStabilityInwardsSlidingCurve slidingCurve, MacroStabilityInwardsCalculationOutputEntity entity) { string expectedSlicesXml = new MacroStabilityInwardsSliceCollectionXmlSerializer().ToXml(slidingCurve.Slices); Assert.AreEqual(expectedSlicesXml, entity.SlidingCurveSliceXML); AssertAreEqual(slidingCurve.IteratedHorizontalForce, entity.SlidingCurveIteratedHorizontalForce); AssertAreEqual(slidingCurve.NonIteratedHorizontalForce, entity.SlidingCurveNonIteratedHorizontalForce); MacroStabilityInwardsSlidingCircle leftCircle = slidingCurve.LeftCircle; AssertAreEqual(leftCircle.Center.X, entity.SlidingCurveLeftSlidingCircleCenterX); AssertAreEqual(leftCircle.Center.Y, entity.SlidingCurveLeftSlidingCircleCenterY); AssertAreEqual(leftCircle.Radius, entity.SlidingCurveLeftSlidingCircleRadius); Assert.AreEqual(Convert.ToByte(leftCircle.IsActive), entity.SlidingCurveLeftSlidingCircleIsActive); AssertAreEqual(leftCircle.IteratedForce, entity.SlidingCurveLeftSlidingCircleIteratedForce); AssertAreEqual(leftCircle.NonIteratedForce, entity.SlidingCurveLeftSlidingCircleNonIteratedForce); AssertAreEqual(leftCircle.DrivingMoment, entity.SlidingCurveLeftSlidingCircleDrivingMoment); AssertAreEqual(leftCircle.ResistingMoment, entity.SlidingCurveLeftSlidingCircleResistingMoment); MacroStabilityInwardsSlidingCircle rightCircle = slidingCurve.RightCircle; AssertAreEqual(rightCircle.Center.X, entity.SlidingCurveRightSlidingCircleCenterX); AssertAreEqual(rightCircle.Center.Y, entity.SlidingCurveRightSlidingCircleCenterY); AssertAreEqual(rightCircle.Radius, entity.SlidingCurveRightSlidingCircleRadius); Assert.AreEqual(Convert.ToByte(rightCircle.IsActive), entity.SlidingCurveRightSlidingCircleIsActive); AssertAreEqual(rightCircle.IteratedForce, entity.SlidingCurveRightSlidingCircleIteratedForce); AssertAreEqual(rightCircle.NonIteratedForce, entity.SlidingCurveRightSlidingCircleNonIteratedForce); AssertAreEqual(rightCircle.DrivingMoment, entity.SlidingCurveRightSlidingCircleDrivingMoment); AssertAreEqual(rightCircle.ResistingMoment, entity.SlidingCurveRightSlidingCircleResistingMoment); }
public void Constructor_ExpectedValues() { // Call var serializer = new MacroStabilityInwardsSliceCollectionXmlSerializer(); // Assert Assert.IsInstanceOf <DataCollectionSerializer <MacroStabilityInwardsSlice, MacroStabilityInwardsSliceCollectionXmlSerializer.SerializableMacroStabilityInwardsSlice> >(serializer); SerializerTestHelper.AssertSerializedData(typeof(MacroStabilityInwardsSliceCollectionXmlSerializer.SerializableMacroStabilityInwardsSlice)); }