public void CreateAssemblyGroupFeatures_ValidParameters_ReturnsExpectedFeatures() { // Setup var random = new Random(39); var failureMechanism = new TestFailureMechanism(); FailureMechanismTestHelper.AddSections(failureMechanism, random.Next(0, 10)); var expectedAssemblyResult = new FailureMechanismSectionAssemblyResult( random.NextDouble(), random.NextDouble(), random.NextDouble(), random.NextEnumValue <FailureMechanismSectionAssemblyGroup>()); // Call IEnumerable <MapFeature> features = AssemblyMapDataFeaturesFactory.CreateAssemblyGroupFeatures <FailureMechanismSectionResult>( failureMechanism, sr => expectedAssemblyResult); // Assert Assert.AreEqual(failureMechanism.Sections.Count(), features.Count()); for (var i = 0; i < features.Count(); i++) { FailureMechanismSection section = failureMechanism.Sections.ElementAt(i); MapFeature mapFeature = features.ElementAt(i); AssertAssemblyGroupMapFeature(section, mapFeature, expectedAssemblyResult); } }
public void CreateAssemblyGroupFeatures_PerformAssemblyFuncThrowsAssemblyExceptionOnFirstSection_FirstSectionSkipped() { // Setup var random = new Random(39); var failureMechanism = new TestFailureMechanism(); FailureMechanismTestHelper.AddSections(failureMechanism, 2); var expectedAssemblyResult = new FailureMechanismSectionAssemblyResult( random.NextDouble(), random.NextDouble(), random.NextDouble(), random.NextEnumValue <FailureMechanismSectionAssemblyGroup>()); // Call var shouldThrowException = true; IEnumerable <MapFeature> features = AssemblyMapDataFeaturesFactory.CreateAssemblyGroupFeatures <FailureMechanismSectionResult>( failureMechanism, sr => { if (shouldThrowException) { shouldThrowException = false; throw new AssemblyException(); } return(expectedAssemblyResult); }); // Assert AssertAssemblyGroupMapFeature(failureMechanism.Sections.ElementAt(1), features.Single(), expectedAssemblyResult); }
public void CreateAssemblyGroupFeatures_FailureMechanismNull_ThrowsArgumentNullException() { // Call void Call() => AssemblyMapDataFeaturesFactory.CreateAssemblyGroupFeatures <FailureMechanismSectionResult>( null, sr => null); // Assert var exception = Assert.Throws <ArgumentNullException>(Call); Assert.AreEqual("failureMechanism", exception.ParamName); }
public void CreateAssemblyGroupFeatures_PerformAssemblyFuncNull_ThrowsArgumentNullException() { // Call void Call() => AssemblyMapDataFeaturesFactory.CreateAssemblyGroupFeatures <FailureMechanismSectionResult>( new TestFailureMechanism(), null); // Assert var exception = Assert.Throws <ArgumentNullException>(Call); Assert.AreEqual("performAssemblyFunc", exception.ParamName); }
private void SetFeatures() { MapData.Features = AssemblyMapDataFeaturesFactory.CreateAssemblyGroupFeatures(failureMechanism, performAssemblyFunc); }