// Copyright (C) Stichting Deltares 2016. All rights reserved. // // This file is part of Ringtoets. // // Ringtoets is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // All names, logos, and references to "Deltares" are registered trademarks of // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. using System.Collections.ObjectModel; using System.Data.Entity; using Application.Ringtoets.Storage.DbContext; using Rhino.Mocks; namespace Application.Ringtoets.Storage.TestUtil { public static class RingtoetsEntitiesHelper { /// /// Creates a stub using the given mock repository. /// /// The mock repository. /// A stubbed implementation. public static IRingtoetsEntities CreateStub(MockRepository mockRepository) { DbSet projectsSet = CreateEmptyTestDbSet(); DbSet hydraylicLocationsSet = CreateEmptyTestDbSet(); DbSet failureMechanismsSet = CreateEmptyTestDbSet(); DbSet failureMechanismSectionsSet = CreateEmptyTestDbSet(); DbSet failureMechanismSectionPointsSet = CreateEmptyTestDbSet(); DbSet pipingSectionResultsSet = CreateEmptyTestDbSet(); DbSet dikeProfileEntities = CreateEmptyTestDbSet(); DbSet grassCoverErosionInwardsMetaEntities = CreateEmptyTestDbSet(); DbSet grassCoverErosionInwardsSectionResultsSet = CreateEmptyTestDbSet(); DbSet heightStructuresSectionResultsSet = CreateEmptyTestDbSet(); DbSet strengthStabilityLengthwiseConstructionSectionResultsSet = CreateEmptyTestDbSet(); DbSet technicalInnovationSectionResultsSet = CreateEmptyTestDbSet(); DbSet waterPressureAsphaltCoverSectionResultsSet = CreateEmptyTestDbSet(); DbSet closingStructureSectionResultsSet = CreateEmptyTestDbSet(); DbSet macrostabilityInwardsSectionResultsSet = CreateEmptyTestDbSet(); DbSet macrostabilityOutwardsSectionResultsSet = CreateEmptyTestDbSet(); DbSet waveImpactAsphaltCoverSectionResultsSet = CreateEmptyTestDbSet(); DbSet grassCoverErosionOutwardsSectionResultsSet = CreateEmptyTestDbSet(); DbSet grassCoverSlipOffInwardsSectionResultsSet = CreateEmptyTestDbSet(); DbSet grassCoverSlipOffOutwardsSectionResultsSet = CreateEmptyTestDbSet(); DbSet microstabilitySectionResultsSet = CreateEmptyTestDbSet(); DbSet pipingStructureSectionResultsSet = CreateEmptyTestDbSet(); DbSet duneErosionSectionResultsSet = CreateEmptyTestDbSet(); DbSet stabilityStoneCoverSectionResultsSet = CreateEmptyTestDbSet(); DbSet strengthStabilityPointConstructionSectionResultsSet = CreateEmptyTestDbSet(); DbSet assessmentSectionsSet = CreateEmptyTestDbSet(); DbSet referenceLinesSet = CreateEmptyTestDbSet(); DbSet calculationGroupsSet = CreateEmptyTestDbSet(); DbSet pipingCalculationsSet = CreateEmptyTestDbSet(); DbSet pipingCalculationsOutputsSet = CreateEmptyTestDbSet(); DbSet pipingSemiProbabilisticOutputsSet = CreateEmptyTestDbSet(); DbSet stochasticSoilModelsSet = CreateEmptyTestDbSet(); DbSet soilModelSegmentPointsSet = CreateEmptyTestDbSet(); DbSet stochasticSoilProfilesSet = CreateEmptyTestDbSet(); DbSet soilProfilesSet = CreateEmptyTestDbSet(); DbSet soilLayersSet = CreateEmptyTestDbSet(); DbSet surfaceLinesSet = CreateEmptyTestDbSet(); DbSet surfaceLinePointsSet = CreateEmptyTestDbSet(); DbSet characteristicPointsSet = CreateEmptyTestDbSet(); DbSet failureMechanismMetaSet = CreateEmptyTestDbSet(); var ringtoetsEntities = mockRepository.Stub(); ringtoetsEntities.Stub(r => r.ProjectEntities).Return(projectsSet); ringtoetsEntities.Stub(r => r.HydraulicLocationEntities).Return(hydraylicLocationsSet); ringtoetsEntities.Stub(r => r.FailureMechanismEntities).Return(failureMechanismsSet); ringtoetsEntities.Stub(r => r.FailureMechanismSectionEntities).Return(failureMechanismSectionsSet); ringtoetsEntities.Stub(r => r.FailureMechanismSectionPointEntities).Return(failureMechanismSectionPointsSet); ringtoetsEntities.Stub(r => r.PipingSectionResultEntities).Return(pipingSectionResultsSet); ringtoetsEntities.Stub(r => r.DikeProfileEntities).Return(dikeProfileEntities); ringtoetsEntities.Stub(r => r.GrassCoverErosionInwardsFailureMechanismMetaEntities).Return(grassCoverErosionInwardsMetaEntities); ringtoetsEntities.Stub(r => r.GrassCoverErosionInwardsSectionResultEntities).Return(grassCoverErosionInwardsSectionResultsSet); ringtoetsEntities.Stub(r => r.HeightStructuresSectionResultEntities).Return(heightStructuresSectionResultsSet); ringtoetsEntities.Stub(r => r.StrengthStabilityLengthwiseConstructionSectionResultEntities).Return(strengthStabilityLengthwiseConstructionSectionResultsSet); ringtoetsEntities.Stub(r => r.TechnicalInnovationSectionResultEntities).Return(technicalInnovationSectionResultsSet); ringtoetsEntities.Stub(r => r.WaterPressureAsphaltCoverSectionResultEntities).Return(waterPressureAsphaltCoverSectionResultsSet); ringtoetsEntities.Stub(r => r.ClosingStructureSectionResultEntities).Return(closingStructureSectionResultsSet); ringtoetsEntities.Stub(r => r.MacrostabilityInwardsSectionResultEntities).Return(macrostabilityInwardsSectionResultsSet); ringtoetsEntities.Stub(r => r.MacrostabilityOutwardsSectionResultEntities).Return(macrostabilityOutwardsSectionResultsSet); ringtoetsEntities.Stub(r => r.WaveImpactAsphaltCoverSectionResultEntities).Return(waveImpactAsphaltCoverSectionResultsSet); ringtoetsEntities.Stub(r => r.GrassCoverErosionOutwardsSectionResultEntities).Return(grassCoverErosionOutwardsSectionResultsSet); ringtoetsEntities.Stub(r => r.GrassCoverSlipOffInwardsSectionResultEntities).Return(grassCoverSlipOffInwardsSectionResultsSet); ringtoetsEntities.Stub(r => r.GrassCoverSlipOffOutwardsSectionResultEntities).Return(grassCoverSlipOffOutwardsSectionResultsSet); ringtoetsEntities.Stub(r => r.MicrostabilitySectionResultEntities).Return(microstabilitySectionResultsSet); ringtoetsEntities.Stub(r => r.PipingStructureSectionResultEntities).Return(pipingStructureSectionResultsSet); ringtoetsEntities.Stub(r => r.DuneErosionSectionResultEntities).Return(duneErosionSectionResultsSet); ringtoetsEntities.Stub(r => r.StabilityStoneCoverSectionResultEntities).Return(stabilityStoneCoverSectionResultsSet); ringtoetsEntities.Stub(r => r.StrengthStabilityPointConstructionSectionResultEntities).Return(strengthStabilityPointConstructionSectionResultsSet); ringtoetsEntities.Stub(r => r.AssessmentSectionEntities).Return(assessmentSectionsSet); ringtoetsEntities.Stub(r => r.ReferenceLinePointEntities).Return(referenceLinesSet); ringtoetsEntities.Stub(r => r.CalculationGroupEntities).Return(calculationGroupsSet); ringtoetsEntities.Stub(r => r.PipingCalculationEntities).Return(pipingCalculationsSet); ringtoetsEntities.Stub(r => r.PipingCalculationOutputEntities).Return(pipingCalculationsOutputsSet); ringtoetsEntities.Stub(r => r.PipingSemiProbabilisticOutputEntities).Return(pipingSemiProbabilisticOutputsSet); ringtoetsEntities.Stub(r => r.StochasticSoilModelEntities).Return(stochasticSoilModelsSet); ringtoetsEntities.Stub(r => r.StochasticSoilModelSegmentPointEntities).Return(soilModelSegmentPointsSet); ringtoetsEntities.Stub(r => r.StochasticSoilProfileEntities).Return(stochasticSoilProfilesSet); ringtoetsEntities.Stub(r => r.SoilProfileEntities).Return(soilProfilesSet); ringtoetsEntities.Stub(r => r.SoilLayerEntities).Return(soilLayersSet); ringtoetsEntities.Stub(r => r.SurfaceLineEntities).Return(surfaceLinesSet); ringtoetsEntities.Stub(r => r.SurfaceLinePointEntities).Return(surfaceLinePointsSet); ringtoetsEntities.Stub(r => r.CharacteristicPointEntities).Return(characteristicPointsSet); ringtoetsEntities.Stub(r => r.PipingFailureMechanismMetaEntities).Return(failureMechanismMetaSet); return ringtoetsEntities; } private static DbSet CreateEmptyTestDbSet() where T : class { return new TestDbSet(new ObservableCollection()); } } }