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 Create_WithValidArguments_ReturnsSerializableTotalAssemblyResult() { // Setup var idGenerator = new IdentifierGenerator(); const string assessmentProcessId = "assessmentProcessId"; var serializableAssessmentProcess = new SerializableAssessmentProcess(assessmentProcessId, new SerializableAssessmentSection()); var random = new Random(); var probabilityAssemblyMethod = random.NextEnumValue <SerializableAssemblyMethod>(); var assemblyGroupAssemblyMethod = random.NextEnumValue <SerializableAssemblyMethod>(); var assemblyGroup = random.NextEnumValue <SerializableAssessmentSectionAssemblyGroup>(); double probability = random.NextDouble(); // Call SerializableTotalAssemblyResult serializableTotalAssembly = SerializableTotalAssemblyResultCreator.Create(idGenerator, serializableAssessmentProcess, probabilityAssemblyMethod, assemblyGroupAssemblyMethod, assemblyGroup, probability); // Assert Assert.AreEqual("Vo.0", serializableTotalAssembly.Id); Assert.AreEqual(serializableAssessmentProcess.Id, serializableTotalAssembly.AssessmentProcessId); Assert.AreEqual(probabilityAssemblyMethod, serializableTotalAssembly.ProbabilityAssemblyMethod); Assert.AreEqual(assemblyGroupAssemblyMethod, serializableTotalAssembly.AssemblyGroupAssemblyMethod); Assert.AreEqual(assemblyGroup, serializableTotalAssembly.AssemblyGroup); Assert.AreEqual(probability, serializableTotalAssembly.Probability); }
public void Constructor_WithValidData_ReturnsExpectedValues() { // Setup const string id = "id"; var assessmentProcess = new SerializableAssessmentProcess("processId", new SerializableAssessmentSection()); var random = new Random(39); var probabilityAssemblyMethod = random.NextEnumValue <SerializableAssemblyMethod>(); var assemblyGroupAssemblyMethod = random.NextEnumValue <SerializableAssemblyMethod>(); var assemblyGroup = random.NextEnumValue <SerializableAssessmentSectionAssemblyGroup>(); double probability = random.NextDouble(); // Call var totalAssemblyResult = new SerializableTotalAssemblyResult(id, assessmentProcess, probabilityAssemblyMethod, assemblyGroupAssemblyMethod, assemblyGroup, probability); // Assert Assert.AreEqual(id, totalAssemblyResult.Id); Assert.AreEqual(assessmentProcess.Id, totalAssemblyResult.AssessmentProcessId); Assert.AreEqual(probabilityAssemblyMethod, totalAssemblyResult.ProbabilityAssemblyMethod); Assert.AreEqual(assemblyGroupAssemblyMethod, totalAssemblyResult.AssemblyGroupAssemblyMethod); Assert.AreEqual(assemblyGroup, totalAssemblyResult.AssemblyGroup); Assert.AreEqual(probability, totalAssemblyResult.Probability); Assert.AreEqual("VOLLDG", totalAssemblyResult.Status); }
private static void AssertSerializableAssessmentProcess(string expectedId, SerializableAssessmentSection expectedAssessmentSection, SerializableAssessmentProcess serializableAssessmentProcess) { Assert.AreEqual(expectedId, serializableAssessmentProcess.Id); Assert.AreEqual(expectedAssessmentSection.Id, serializableAssessmentProcess.AssessmentSectionId); }
private static void AssertSerializableTotalAssemblyResult(string expectedId, ExportableAssessmentSectionAssemblyResult expectedAssessmentSectionAssemblyResult, SerializableAssessmentProcess expectedAssessmentProcess, SerializableTotalAssemblyResult serializableTotalAssembly) { Assert.AreEqual(expectedId, serializableTotalAssembly.Id); Assert.AreEqual(expectedAssessmentProcess.Id, serializableTotalAssembly.AssessmentProcessId); Assert.AreEqual(SerializableAssemblyMethodCreator.Create(expectedAssessmentSectionAssemblyResult.ProbabilityAssemblyMethod), serializableTotalAssembly.ProbabilityAssemblyMethod); Assert.AreEqual(SerializableAssemblyMethodCreator.Create(expectedAssessmentSectionAssemblyResult.AssemblyGroupAssemblyMethod), serializableTotalAssembly.AssemblyGroupAssemblyMethod); Assert.AreEqual(SerializableAssessmentSectionAssemblyGroupCreator.Create(expectedAssessmentSectionAssemblyResult.AssemblyGroup), serializableTotalAssembly.AssemblyGroup); Assert.AreEqual(expectedAssessmentSectionAssemblyResult.Probability, serializableTotalAssembly.Probability); }
/// <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); }
/// <summary> /// Creates an instance of <see cref="SerializableTotalAssemblyResult"/> /// based on its input parameters /// </summary> /// <param name="idGenerator">The generator to generate an id for the <see cref="SerializableTotalAssemblyResult"/>.</param> /// <param name="assessmentProcess">The assessment process this result belongs to.</param> /// <param name="probabilityAssemblyMethod">The method used to assemble the probability of this result.</param> /// <param name="assemblyGroupAssemblyMethod">The method used to assemble the assembly group of this result.</param> /// <param name="assemblyGroup">The group of this assembly result.</param> /// <param name="probability">The probability of this assembly result.</param> /// <returns>A <see cref="SerializableTotalAssemblyResult"/>.</returns> /// <exception cref="ArgumentNullException">Thrown when <paramref name="idGenerator"/> /// or <paramref name="assessmentProcess"/> is <c>null</c>.</exception> public static SerializableTotalAssemblyResult Create(IdentifierGenerator idGenerator, SerializableAssessmentProcess assessmentProcess, SerializableAssemblyMethod probabilityAssemblyMethod, SerializableAssemblyMethod assemblyGroupAssemblyMethod, SerializableAssessmentSectionAssemblyGroup assemblyGroup, double probability) { if (idGenerator == null) { throw new ArgumentNullException(nameof(idGenerator)); } return(new SerializableTotalAssemblyResult(idGenerator.GetNewId(Resources.SerializableTotalAssemblyResult_IdPrefix), assessmentProcess, probabilityAssemblyMethod, assemblyGroupAssemblyMethod, assemblyGroup, probability)); }
public void DefaultConstructor_ReturnsDefaultValues() { // Call var assessmentProcess = new SerializableAssessmentProcess(); // Assert Assert.IsInstanceOf <SerializableFeatureMember>(assessmentProcess); Assert.IsNull(assessmentProcess.Id); Assert.IsNull(assessmentProcess.AssessmentSectionId); Assert.AreEqual(2023, assessmentProcess.StartYear); Assert.AreEqual(2035, assessmentProcess.EndYear); SerializableAttributeTestHelper.AssertXmlTypeAttribute(typeof(SerializableAssessmentProcess), "Beoordelingsproces"); SerializableAttributeTestHelper.AssertXmlAttributeAttribute <SerializableAssessmentProcess>( nameof(SerializableAssessmentProcess.Id), "BeoordelingsprocesID"); SerializableAttributeTestHelper.AssertXmlAttributeAttribute <SerializableAssessmentProcess>( nameof(SerializableAssessmentProcess.AssessmentSectionId), "WaterkeringstelselIDRef"); SerializableAttributeTestHelper.AssertXmlElementAttribute <SerializableAssessmentProcess>( nameof(SerializableAssessmentProcess.StartYear), "beginJaarBeoordelingsronde"); SerializableAttributeTestHelper.AssertXmlElementAttribute <SerializableAssessmentProcess>( nameof(SerializableAssessmentProcess.EndYear), "eindJaarBeoordelingsronde"); }
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); }