public void CreateDuneLocationFeatures_WithLocations_ReturnsLocationFeaturesCollection(bool withOutput) { // Setup DuneLocation[] duneLocations = { CreateDuneLocation(1), CreateDuneLocation(2) }; var failureMechanism = new DuneErosionFailureMechanism(); failureMechanism.DuneLocationCalculationsForUserDefinedTargetProbabilities.AddRange(new[] { new DuneLocationCalculationsForTargetProbability(0.1), new DuneLocationCalculationsForTargetProbability(0.001) }); failureMechanism.SetDuneLocations(duneLocations); if (withOutput) { DuneLocationsTestHelper.SetDuneLocationCalculationOutput(failureMechanism); } IEnumerable <AggregatedDuneLocation> aggregatedLocations = AggregatedDuneLocationFactory.CreateAggregatedDuneLocations( failureMechanism.DuneLocations, failureMechanism.DuneLocationCalculationsForUserDefinedTargetProbabilities); // Call IEnumerable <MapFeature> features = DuneErosionMapDataFeaturesFactory.CreateDuneLocationFeatures(aggregatedLocations); // Assert DuneErosionMapFeaturesTestHelper.AssertDuneLocationFeaturesData(failureMechanism, features); }
public void ClearDuneLocationCalculationOutput_CalculationsWithOutput_OutputClearedAndAffectedItemsReturned() { // Setup var duneLocations = new[] { new TestDuneLocation(), new TestDuneLocation() }; var duneLocationCalculationsForTargetProbability1 = new DuneLocationCalculationsForTargetProbability(0.1); var duneLocationCalculationsForTargetProbability2 = new DuneLocationCalculationsForTargetProbability(0.01); var failureMechanism = new DuneErosionFailureMechanism { DuneLocationCalculationsForUserDefinedTargetProbabilities = { duneLocationCalculationsForTargetProbability1, duneLocationCalculationsForTargetProbability2 } }; failureMechanism.SetDuneLocations(duneLocations); duneLocationCalculationsForTargetProbability1.DuneLocationCalculations.First().Output = new TestDuneLocationCalculationOutput(); duneLocationCalculationsForTargetProbability2.DuneLocationCalculations.First().Output = new TestDuneLocationCalculationOutput(); IEnumerable <IObservable> expectedAffectedCalculations = DuneLocationsTestHelper.GetAllDuneLocationCalculationsWithOutput(failureMechanism); // Call IEnumerable <IObservable> affected = DuneErosionDataSynchronizationService.ClearDuneLocationCalculationsOutput(failureMechanism); // Assert CollectionAssert.AreEquivalent(expectedAffectedCalculations, affected); DuneLocationsTestHelper.AssertDuneLocationCalculationsHaveNoOutputs(failureMechanism); }