private static void AssertSerializableAssessmentProcess(string expectedId, SerializableAssessmentSection expectedAssessmentSection, SerializableAssessmentProcess serializableAssessmentProcess) { Assert.AreEqual(expectedId, serializableAssessmentProcess.Id); Assert.AreEqual(expectedAssessmentSection.Id, serializableAssessmentProcess.AssessmentSectionId); }
public void Constructor_WithValidData_ReturnsExpectedValues() { // Setup const string id = "processId"; var random = new Random(39); var assessmentSection = new SerializableAssessmentSection( "assessmentSectionId", "name", new[] { new Point2D(random.NextDouble(), random.NextDouble()), new Point2D(random.NextDouble(), random.NextDouble()) }); // Call var assessmentProcess = new SerializableAssessmentProcess(id, assessmentSection); // Assert Assert.AreEqual(id, assessmentProcess.Id); Assert.AreEqual(assessmentSection.Id, assessmentProcess.AssessmentSectionId); Assert.AreEqual(2023, assessmentProcess.StartYear); Assert.AreEqual(2035, assessmentProcess.EndYear); }
public void DefaultConstructor_ReturnsDefaultValues() { // Call var assessmentSection = new SerializableAssessmentSection(); // Assert Assert.IsInstanceOf <SerializableFeatureMember>(assessmentSection); Assert.AreEqual("DKTRJCT", assessmentSection.AssessmentSectionType); Assert.IsNull(assessmentSection.Id); Assert.IsNull(assessmentSection.Name); Assert.IsNull(assessmentSection.ReferenceLineGeometry); Assert.IsNull(assessmentSection.ReferenceLineLength); SerializableAttributeTestHelper.AssertXmlTypeAttribute(typeof(SerializableAssessmentSection), "Waterkeringstelsel"); SerializableAttributeTestHelper.AssertXmlAttributeAttribute <SerializableAssessmentSection>( nameof(SerializableAssessmentSection.Id), "id", "http://www.opengis.net/gml/3.2"); SerializableAttributeTestHelper.AssertXmlElementAttribute <SerializableAssessmentSection>( nameof(SerializableAssessmentSection.AssessmentSectionType), "typeWaterkeringstelsel"); SerializableAttributeTestHelper.AssertXmlElementAttribute <SerializableAssessmentSection>( nameof(SerializableAssessmentSection.Name), "naam"); SerializableAttributeTestHelper.AssertXmlElementAttribute <SerializableAssessmentSection>( nameof(SerializableAssessmentSection.ReferenceLineLength), "lengte"); SerializableAttributeTestHelper.AssertXmlElementAttribute <SerializableAssessmentSection>( nameof(SerializableAssessmentSection.ReferenceLineGeometry), "geometrie2D"); }
private static void AssertSerializableAssessmentSection(string expectedId, string expectedAssessmentSectionName, IEnumerable <Point2D> expectedGeometry, SerializableAssessmentSection actualAssessmentSection) { Assert.AreEqual(expectedId, actualAssessmentSection.Id); Assert.AreEqual(expectedAssessmentSectionName, actualAssessmentSection.Name); Assert.AreEqual(GeometrySerializationFormatter.Format(expectedGeometry), actualAssessmentSection.ReferenceLineGeometry.LineString.Geometry); }
/// <summary> /// Creates an instance of <see cref="SerializableAssessmentProcess"/> /// based on its input parameters. /// </summary> /// <param name="idGenerator">The generator to generate an id for the /// <see cref="SerializableAssessmentProcess"/>.</param> /// <param name="assessmentSection">The <see cref="SerializableAssessmentSection"/> /// this process belongs to.</param> /// <returns>A <see cref="SerializableAssessmentProcess"/>.</returns> /// <exception cref="ArgumentNullException">Thrown when any parameter is <c>null</c>.</exception> public static SerializableAssessmentProcess Create(IdentifierGenerator idGenerator, SerializableAssessmentSection assessmentSection) { if (idGenerator == null) { throw new ArgumentNullException(nameof(idGenerator)); } return(new SerializableAssessmentProcess(idGenerator.GetNewId(Resources.SerializableAssessmentProcess_IdPrefix), assessmentSection)); }
/// <summary> /// Creates an instance of <see cref="SerializableAssembly"/> based /// on <paramref name="assessmentSection"/>. /// </summary> /// <param name="assessmentSection">The <see cref="ExportableAssessmentSection"/> /// to create a <see cref="SerializableAssembly"/> for.</param> /// <returns>A <see cref="SerializableAssembly"/>.</returns> /// <exception cref="ArgumentNullException">Thrown when <paramref name="assessmentSection"/> /// is <c>null</c>.</exception> /// <exception cref="AssemblyCreatorException">Thrown when the <paramref name="assessmentSection"/> is invalid /// to create a serializable counterpart for.</exception> public static SerializableAssembly Create(ExportableAssessmentSection assessmentSection) { if (assessmentSection == null) { throw new ArgumentNullException(nameof(assessmentSection)); } var idGenerator = new IdentifierGenerator(); string serializableAssemblyId = idGenerator.GetNewId(Resources.SerializableAssembly_IdPrefix); SerializableAssessmentSection serializableAssessmentSection = SerializableAssessmentSectionCreator.Create(assessmentSection); SerializableAssessmentProcess serializableAssessmentProcess = SerializableAssessmentProcessCreator.Create(idGenerator, serializableAssessmentSection); SerializableTotalAssemblyResult serializableTotalAssemblyResult = SerializableTotalAssemblyResultCreator.Create( idGenerator, serializableAssessmentProcess, SerializableAssemblyMethodCreator.Create(assessmentSection.AssessmentSectionAssembly.ProbabilityAssemblyMethod), SerializableAssemblyMethodCreator.Create(assessmentSection.AssessmentSectionAssembly.AssemblyGroupAssemblyMethod), SerializableAssessmentSectionAssemblyGroupCreator.Create(assessmentSection.AssessmentSectionAssembly.AssemblyGroup), assessmentSection.AssessmentSectionAssembly.Probability); AggregatedSerializableFailureMechanism[] aggregatedFailureMechanisms = assessmentSection.FailureMechanisms .Select(fm => AggregatedSerializableFailureMechanismCreator.Create( idGenerator, serializableTotalAssemblyResult, fm)) .ToArray(); AggregatedSerializableCombinedFailureMechanismSectionAssemblies aggregatedSerializableCombinedFailureMechanismSectionAssemblies = AggregatedSerializableCombinedFailureMechanismSectionAssembliesCreator.Create( idGenerator, serializableTotalAssemblyResult, assessmentSection.CombinedSectionAssemblies); return(new SerializableAssembly( serializableAssemblyId, GetLowerCorner(assessmentSection.Geometry), GetUpperCorner(assessmentSection.Geometry), serializableAssessmentSection, serializableAssessmentProcess, serializableTotalAssemblyResult, aggregatedFailureMechanisms.Select(afm => afm.FailureMechanism), aggregatedFailureMechanisms.SelectMany(afm => afm.FailureMechanismSectionAssemblyResults), aggregatedSerializableCombinedFailureMechanismSectionAssemblies.CombinedFailureMechanismSectionAssemblies, GetAllSerializableFailureMechanismSectionCollections( aggregatedFailureMechanisms, aggregatedSerializableCombinedFailureMechanismSectionAssemblies), aggregatedFailureMechanisms.SelectMany(afm => afm.FailureMechanismSections) .Concat(aggregatedSerializableCombinedFailureMechanismSectionAssemblies.FailureMechanismSections))); }
public void Create_WithValidArguments_ReturnsSerializableAssessmentProcess() { // Setup const string assessmentSectionId = "assessmentSectionId"; var serializableAssessmentSection = new SerializableAssessmentSection(assessmentSectionId, string.Empty, CreateGeometry()); var idGenerator = new IdentifierGenerator(); // Call SerializableAssessmentProcess serializableProcess = SerializableAssessmentProcessCreator.Create(idGenerator, serializableAssessmentSection); // Assert Assert.AreEqual("Bp.0", serializableProcess.Id); Assert.AreEqual(serializableAssessmentSection.Id, serializableProcess.AssessmentSectionId); }
public void Create_WithAssessmentSection_ReturnsSerializableAssessmentSection() { // Setup const string assessmentSectionName = "Assessment Section Name"; const string assessmentSectionId = "assessmentSectionId"; ExportableAssessmentSection assessmentSection = CreateAssessmentSection(assessmentSectionName, assessmentSectionId); // Call SerializableAssessmentSection serializableAssessmentSection = SerializableAssessmentSectionCreator.Create(assessmentSection); // Assert Assert.AreEqual($"Wks.{assessmentSection.Id}", serializableAssessmentSection.Id); Assert.AreEqual(assessmentSectionName, serializableAssessmentSection.Name); IEnumerable <Point2D> expectedGeometry = assessmentSection.Geometry; Assert.AreEqual(Math2D.Length(expectedGeometry), serializableAssessmentSection.ReferenceLineLength.Value); Assert.AreEqual(GeometrySerializationFormatter.Format(expectedGeometry), serializableAssessmentSection.ReferenceLineGeometry.LineString.Geometry); }
public void Constructor_WithValidData_ReturnsExpectedValues() { // Setup const string name = "section name"; const string id = "sectionId"; var random = new Random(39); var geometry = new[] { new Point2D(random.NextDouble(), random.NextDouble()), new Point2D(random.NextDouble(), random.NextDouble()) }; // Call var assessmentSection = new SerializableAssessmentSection(id, name, geometry); // Assert Assert.AreEqual(id, assessmentSection.Id); Assert.AreEqual(name, assessmentSection.Name); Assert.AreEqual(Math2D.Length(geometry), assessmentSection.ReferenceLineLength.Value); Assert.IsNotNull(assessmentSection.ReferenceLineGeometry); Assert.AreEqual("DKTRJCT", assessmentSection.AssessmentSectionType); }
public void Constructor_WithValidData_ReturnsExpectedValues() { // Setup const string id = "assemblyId1"; var random = new Random(39); var lowerCorner = new Point2D(random.NextDouble(), random.NextDouble()); var upperCorner = new Point2D(random.NextDouble(), random.NextDouble()); var assessmentSection = new SerializableAssessmentSection(); var assessmentProcess = new SerializableAssessmentProcess(); var totalAssemblyResult = new SerializableTotalAssemblyResult(); var failureMechanism = new SerializableFailureMechanism(); var failureMechanismSectionAssembly = new SerializableFailureMechanismSectionAssembly(); var combinedFailureMechanismSectionAssembly = new SerializableCombinedFailureMechanismSectionAssembly(); var failureMechanismSections = new SerializableFailureMechanismSectionCollection(); var failureMechanismSection = new SerializableFailureMechanismSection(); // Call var assembly = new SerializableAssembly(id, lowerCorner, upperCorner, assessmentSection, assessmentProcess, totalAssemblyResult, new[] { failureMechanism }, new[] { failureMechanismSectionAssembly }, new[] { combinedFailureMechanismSectionAssembly }, new[] { failureMechanismSections }, new[] { failureMechanismSection }); // Assert Assert.AreEqual(id, assembly.Id); Assert.AreEqual(lowerCorner.X.ToString(CultureInfo.InvariantCulture) + " " + lowerCorner.Y.ToString(CultureInfo.InvariantCulture), assembly.Boundary.Envelope.LowerCorner); Assert.AreEqual(upperCorner.X.ToString(CultureInfo.InvariantCulture) + " " + upperCorner.Y.ToString(CultureInfo.InvariantCulture), assembly.Boundary.Envelope.UpperCorner); CollectionAssert.AreEqual(new SerializableFeatureMember[] { assessmentSection, assessmentProcess, totalAssemblyResult, failureMechanism, failureMechanismSectionAssembly, combinedFailureMechanismSectionAssembly, failureMechanismSections, failureMechanismSection }, assembly.FeatureMembers); }
private static SerializableAssembly CreateSerializableAssembly() { var assessmentSection = new SerializableAssessmentSection("section1", "Traject A", new[] { new Point2D(0, 0), new Point2D(100.0, 0.0) }); var assessmentProcess = new SerializableAssessmentProcess("beoordelingsproces1", assessmentSection); var totalAssemblyResult = new SerializableTotalAssemblyResult( "veiligheidsoordeel_1", assessmentProcess, SerializableAssemblyMethod.BOI2A1, SerializableAssemblyMethod.BOI2B1, SerializableAssessmentSectionAssemblyGroup.B, 0.00068354); var failureMechanism = new SerializableFailureMechanism( "toetsspoorGABI", SerializableFailureMechanismType.Generic, "GABI", "Faalmechanisme GABI", totalAssemblyResult, new SerializableFailureMechanismAssemblyResult(0.08419, SerializableAssemblyMethod.BOI1A1)); var specificFailureMechanism = new SerializableFailureMechanism( "specifiekFaalmechanisme", SerializableFailureMechanismType.Specific, "NIEUW", "Specifiek faalmechanisme", totalAssemblyResult, new SerializableFailureMechanismAssemblyResult(0.002834, SerializableAssemblyMethod.BOI1A1)); var sections1 = new SerializableFailureMechanismSectionCollection("vakindelingGABI"); var section1 = new SerializableFailureMechanismSection( "vak_GABI_1", sections1, 0.12, 10.23, new[] { new Point2D(0.23, 0.24), new Point2D(10.23, 10.24) }, SerializableFailureMechanismSectionType.FailureMechanism); var result = new SerializableFailureMechanismSectionAssembly( "resultaat_GABI_1", failureMechanism, section1, new SerializableFailureMechanismSectionAssemblyResult( SerializableAssemblyMethod.BOI0A2, SerializableAssemblyMethod.BOI0B1, SerializableFailureMechanismSectionAssemblyGroup.III, 0.00073)); var sections2 = new SerializableFailureMechanismSectionCollection("vakindeling_gecombineerd"); var section2 = new SerializableFailureMechanismSection( "vak_gecombineerd_1", sections2, 0.12, 10.23, new[] { new Point2D(0.23, 0.24), new Point2D(10.23, 10.24) }, SerializableFailureMechanismSectionType.Combined, SerializableAssemblyMethod.BOI3A1); var combinedResult = new SerializableCombinedFailureMechanismSectionAssembly( "resultaat_gecombineerd_1", totalAssemblyResult, section2, new[] { new SerializableCombinedFailureMechanismSectionAssemblyResult( SerializableAssemblyMethod.BOI3B1, SerializableFailureMechanismType.Generic, "HTKW", "Hoogte kunstwerk", SerializableFailureMechanismSectionAssemblyGroup.III), new SerializableCombinedFailureMechanismSectionAssemblyResult( SerializableAssemblyMethod.BOI3B1, SerializableFailureMechanismType.Generic, "STPH", "Piping", SerializableFailureMechanismSectionAssemblyGroup.II), new SerializableCombinedFailureMechanismSectionAssemblyResult( SerializableAssemblyMethod.BOI3B1, SerializableFailureMechanismType.Specific, "NIEUW", "Specifiek", SerializableFailureMechanismSectionAssemblyGroup.Zero) }, new SerializableFailureMechanismSubSectionAssemblyResult( SerializableAssemblyMethod.BOI3C1, SerializableFailureMechanismSectionAssemblyGroup.I)); var assembly = new SerializableAssembly( "assemblage_1", new Point2D(12.0, 34.0), new Point2D(56.053, 78.0002345), assessmentSection, assessmentProcess, totalAssemblyResult, new[] { failureMechanism, specificFailureMechanism }, new[] { result }, new[] { combinedResult }, new[] { sections1, sections2 }, new[] { section1, section2 }); return(assembly); }