public void CreateWaveHeightCalculationActivities_WithValidDataAndUsePreprocessorStates_ReturnsExpectedActivity(bool usePreprocessor)
        {
            // Setup
            const string calculationIdentifier = "1/30";
            const double targetProbability     = 1.0 / 30;

            var mocks = new MockRepository();
            IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(mocks);

            mocks.ReplayAll();

            ConfigureAssessmentSection(assessmentSection, usePreprocessor);

            var hydraulicBoundaryLocation1 = new TestHydraulicBoundaryLocation("locationName1");
            var hydraulicBoundaryLocation2 = new TestHydraulicBoundaryLocation("locationName2");

            // Call
            IEnumerable <CalculatableActivity> activities = HydraulicBoundaryLocationCalculationActivityFactory.CreateWaveHeightCalculationActivities(
                new[]
            {
                new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation1),
                new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation2)
            },
                assessmentSection,
                targetProbability,
                calculationIdentifier);

            // Assert
            Assert.AreEqual(2, activities.Count());
            CollectionAssert.AllItemsAreInstancesOfType(activities, typeof(WaveHeightCalculationActivity));

            HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase;

            AssertWaveHeightCalculationActivity(activities.First(), hydraulicBoundaryLocation1, calculationIdentifier, targetProbability, hydraulicBoundaryDatabase);
            AssertWaveHeightCalculationActivity(activities.ElementAt(1), hydraulicBoundaryLocation2, calculationIdentifier, targetProbability, hydraulicBoundaryDatabase);

            mocks.VerifyAll();
        }