diff --git a/src/OSPSuite.Core/Comparison/ApplicationBuilderDiffBuilder.cs b/src/OSPSuite.Core/Comparison/ApplicationBuilderDiffBuilder.cs index fa4b87e57..ef388a3b4 100644 --- a/src/OSPSuite.Core/Comparison/ApplicationBuilderDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/ApplicationBuilderDiffBuilder.cs @@ -1,11 +1,11 @@ using System.Collections.Generic; -using OSPSuite.Utility.Extensions; using OSPSuite.Core.Domain; using OSPSuite.Core.Domain.Builder; +using OSPSuite.Utility.Extensions; namespace OSPSuite.Core.Comparison { - public class ApplicationBuilderDiffBuilder : DiffBuilder + public class ApplicationBuilderDiffBuilder : DiffBuilder { private readonly EntityDiffBuilder _entityDiffBuilder; private readonly EnumerableComparer _enumerableComparer; @@ -16,23 +16,23 @@ public ApplicationBuilderDiffBuilder(EntityDiffBuilder entityDiffBuilder, Enumer _enumerableComparer = enumerableComparer; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _entityDiffBuilder.Compare(comparison); CompareStringValues(x => x.MoleculeName, x => x.MoleculeName, comparison); CompareValues(x => x.SourceCriteria, x => x.SourceCriteria, comparison); - //Special treatment for application moleculer builder, better compare relative container path then name + //Special treatment for application molecule builder, better compare relative container path then name //Here we have a special treatment for application molecule builder, find missing by Container Path _enumerableComparer.CompareEnumerables(comparison, x => x.Molecules, item => item.RelativeContainerPath); - + // Treat all other children, application molecule builder are ignored _enumerableComparer.CompareEnumerables(comparison, getChildrenButMolecules, item => item.Name); } private IEnumerable getChildrenButMolecules(IContainer container) { - return container.GetChildren(child => !child.IsAnImplementationOf()); + return container.GetChildren(child => !child.IsAnImplementationOf()); } } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Comparison/ApplicationMoleculeBuilderDiffBuilder.cs b/src/OSPSuite.Core/Comparison/ApplicationMoleculeBuilderDiffBuilder.cs index d4b452891..e8057bc30 100644 --- a/src/OSPSuite.Core/Comparison/ApplicationMoleculeBuilderDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/ApplicationMoleculeBuilderDiffBuilder.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Comparison { - public class ApplicationMoleculeBuilderDiffBuilder : DiffBuilder + public class ApplicationMoleculeBuilderDiffBuilder : DiffBuilder { private readonly EntityDiffBuilder _entityDiffBuilder; private readonly IObjectComparer _objectComparer; @@ -13,7 +13,7 @@ public ApplicationMoleculeBuilderDiffBuilder(EntityDiffBuilder entityDiffBuilder _objectComparer = objectComparer; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _entityDiffBuilder.Compare(comparison); CompareValues(x => x.RelativeContainerPath, x => x.RelativeContainerPath, comparison, Equals, (molecule, path) => path.PathAsString); diff --git a/src/OSPSuite.Core/Comparison/BuildingBlockDiffBuilder.cs b/src/OSPSuite.Core/Comparison/BuildingBlockDiffBuilder.cs index ea5a3060e..d8fc3d21c 100644 --- a/src/OSPSuite.Core/Comparison/BuildingBlockDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/BuildingBlockDiffBuilder.cs @@ -31,14 +31,14 @@ public override void Compare(IComparison comparison) } } - public class MoleculeBuildingBlockDiffBuilder : BuildingBlockDiffBuilder + public class MoleculeBuildingBlockDiffBuilder : BuildingBlockDiffBuilder { public MoleculeBuildingBlockDiffBuilder(ObjectBaseDiffBuilder objectBaseDiffBuilder, EnumerableComparer enumerableComparer) : base(objectBaseDiffBuilder, enumerableComparer) { } } - public class SpatialStructureDiffBuilder : DiffBuilder + public class SpatialStructureDiffBuilder : DiffBuilder { private readonly ObjectBaseDiffBuilder _objectBaseDiffBuilder; private readonly EnumerableComparer _enumerableComparer; @@ -49,21 +49,21 @@ public SpatialStructureDiffBuilder(ObjectBaseDiffBuilder objectBaseDiffBuilder, _enumerableComparer = enumerableComparer; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _objectBaseDiffBuilder.Compare(comparison); _enumerableComparer.CompareEnumerables(comparison, x => x, x => x.Name); } } - public class ReactionBuildingBlockDiffBuilder : BuildingBlockDiffBuilder + public class ReactionBuildingBlockDiffBuilder : BuildingBlockDiffBuilder { public ReactionBuildingBlockDiffBuilder(ObjectBaseDiffBuilder objectBaseDiffBuilder, EnumerableComparer enumerableComparer) : base(objectBaseDiffBuilder, enumerableComparer) { } } - public class PassiveTransportBuildingBlockDiffBuilder : BuildingBlockDiffBuilder + public class PassiveTransportBuildingBlockDiffBuilder : BuildingBlockDiffBuilder { public PassiveTransportBuildingBlockDiffBuilder(ObjectBaseDiffBuilder objectBaseDiffBuilder, EnumerableComparer enumerableComparer) : base(objectBaseDiffBuilder, enumerableComparer) @@ -71,7 +71,7 @@ public PassiveTransportBuildingBlockDiffBuilder(ObjectBaseDiffBuilder objectBase } } - public class EventGroupBuildingBlocksDiffBuilder : BuildingBlockDiffBuilder + public class EventGroupBuildingBlocksDiffBuilder : BuildingBlockDiffBuilder { public EventGroupBuildingBlocksDiffBuilder(ObjectBaseDiffBuilder objectBaseDiffBuilder, EnumerableComparer enumerableComparer) : base(objectBaseDiffBuilder, enumerableComparer) @@ -79,7 +79,7 @@ public EventGroupBuildingBlocksDiffBuilder(ObjectBaseDiffBuilder objectBaseDiffB } } - public class ObserverBuildingBlocksDiffBuilder : BuildingBlockDiffBuilder + public class ObserverBuildingBlocksDiffBuilder : BuildingBlockDiffBuilder { public ObserverBuildingBlocksDiffBuilder(ObjectBaseDiffBuilder objectBaseDiffBuilder, EnumerableComparer enumerableComparer) : base(objectBaseDiffBuilder, enumerableComparer) diff --git a/src/OSPSuite.Core/Comparison/EventAssignmentBuilderDiffBuilder.cs b/src/OSPSuite.Core/Comparison/EventAssignmentBuilderDiffBuilder.cs index e7397d13f..3926c13ca 100644 --- a/src/OSPSuite.Core/Comparison/EventAssignmentBuilderDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/EventAssignmentBuilderDiffBuilder.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Comparison { - public class EventAssignmentBuilderDiffBuilder : DiffBuilder + public class EventAssignmentBuilderDiffBuilder : DiffBuilder { private readonly EntityDiffBuilder _entityDiffBuilder; private readonly IObjectComparer _objectComparer; @@ -13,7 +13,7 @@ public EventAssignmentBuilderDiffBuilder(EntityDiffBuilder entityDiffBuilder, IO _objectComparer = objectComparer; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _entityDiffBuilder.Compare(comparison); CompareValues(x => x.UseAsValue, x => x.UseAsValue, comparison); diff --git a/src/OSPSuite.Core/Comparison/EventAssignmentDiffBuilder.cs b/src/OSPSuite.Core/Comparison/EventAssignmentDiffBuilder.cs index 0938ea7fe..cb4952cfa 100644 --- a/src/OSPSuite.Core/Comparison/EventAssignmentDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/EventAssignmentDiffBuilder.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Comparison { - public class EventAssignmentDiffBuilder : DiffBuilder + public class EventAssignmentDiffBuilder : DiffBuilder { private readonly EntityDiffBuilder _entityDiffBuilder; private readonly IObjectComparer _objectComparer; @@ -13,7 +13,7 @@ public EventAssignmentDiffBuilder(EntityDiffBuilder entityDiffBuilder, IObjectCo _objectComparer = objectComparer; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _entityDiffBuilder.Compare(comparison); CompareValues(x => x.UseAsValue, x => x.UseAsValue, comparison); diff --git a/src/OSPSuite.Core/Comparison/EventBuilderDiffBuilder.cs b/src/OSPSuite.Core/Comparison/EventBuilderDiffBuilder.cs index 7dffa2e7b..16e282a70 100644 --- a/src/OSPSuite.Core/Comparison/EventBuilderDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/EventBuilderDiffBuilder.cs @@ -4,7 +4,7 @@ namespace OSPSuite.Core.Comparison { - public class EventBuilderDiffBuilder : DiffBuilder + public class EventBuilderDiffBuilder : DiffBuilder { private readonly EntityDiffBuilder _entityDiffBuilder; private readonly EnumerableComparer _enumerableComparer; @@ -17,13 +17,13 @@ public EventBuilderDiffBuilder(EntityDiffBuilder entityDiffBuilder, EnumerableCo _objectComparer = objectComparer; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _entityDiffBuilder.Compare(comparison); CompareValues(x => x.OneTime, x => x.OneTime, comparison); _objectComparer.Compare(comparison.FormulaComparison()); _enumerableComparer.CompareEnumerables(comparison, x => x.Assignments, item => item.ObjectPath); - _enumerableComparer.CompareEnumerables(comparison, x => x.GetChildren(i => !i.IsAnImplementationOf()), item => item.Name); + _enumerableComparer.CompareEnumerables(comparison, x => x.GetChildren(i => !i.IsAnImplementationOf()), item => item.Name); } } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Comparison/EventDiffBuilder.cs b/src/OSPSuite.Core/Comparison/EventDiffBuilder.cs index fce8d9eb9..996a95f66 100644 --- a/src/OSPSuite.Core/Comparison/EventDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/EventDiffBuilder.cs @@ -4,7 +4,7 @@ namespace OSPSuite.Core.Comparison { - public class EventDiffBuilder : DiffBuilder + public class EventDiffBuilder : DiffBuilder { private readonly EntityDiffBuilder _entityDiffBuilder; private readonly EnumerableComparer _enumerableComparer; @@ -19,13 +19,13 @@ public EventDiffBuilder(EntityDiffBuilder entityDiffBuilder, EnumerableComparer _entityPathResolver = entityPathResolver; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _entityDiffBuilder.Compare(comparison); CompareValues(x => x.OneTime, x => x.OneTime, comparison); _objectComparer.Compare(comparison.FormulaComparison()); _enumerableComparer.CompareEnumerables(comparison, x => x.Assignments, item => _entityPathResolver.ObjectPathFor(item.ChangedEntity)); - _enumerableComparer.CompareEnumerables(comparison, x => x.GetChildren(i => !i.IsAnImplementationOf()), item => item.Name); + _enumerableComparer.CompareEnumerables(comparison, x => x.GetChildren(i => !i.IsAnImplementationOf()), item => item.Name); } } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Comparison/EventGroupBuilderDiffBuilder.cs b/src/OSPSuite.Core/Comparison/EventGroupBuilderDiffBuilder.cs index 1fa66b28f..34e308252 100644 --- a/src/OSPSuite.Core/Comparison/EventGroupBuilderDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/EventGroupBuilderDiffBuilder.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Comparison { - public class EventGroupBuilderDiffBuilder : DiffBuilder + public class EventGroupBuilderDiffBuilder : DiffBuilder { private readonly ContainerDiffBuilder _containerDiffBuilder; @@ -11,7 +11,7 @@ public EventGroupBuilderDiffBuilder(ContainerDiffBuilder containerDiffBuilder) _containerDiffBuilder = containerDiffBuilder; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _containerDiffBuilder.Compare(comparison); CompareValues(x => x.SourceCriteria, x => x.SourceCriteria, comparison); diff --git a/src/OSPSuite.Core/Comparison/EventGroupDiffBuilder.cs b/src/OSPSuite.Core/Comparison/EventGroupDiffBuilder.cs index 52461e5d4..62f364e24 100644 --- a/src/OSPSuite.Core/Comparison/EventGroupDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/EventGroupDiffBuilder.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Comparison { - public class EventGroupDiffBuilder : DiffBuilder + public class EventGroupDiffBuilder : DiffBuilder { private readonly ContainerDiffBuilder _containerDiffBuilder; @@ -11,7 +11,7 @@ public EventGroupDiffBuilder(ContainerDiffBuilder containerDiffBuilder) _containerDiffBuilder = containerDiffBuilder; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _containerDiffBuilder.Compare(comparison); CompareStringValues(x => x.EventGroupType, x => x.EventGroupType, comparison); diff --git a/src/OSPSuite.Core/Comparison/MoleculeAmountDiffBuilder.cs b/src/OSPSuite.Core/Comparison/MoleculeAmountDiffBuilder.cs index 4d59db0ff..ea1dde160 100644 --- a/src/OSPSuite.Core/Comparison/MoleculeAmountDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/MoleculeAmountDiffBuilder.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Comparison { - public class MoleculeAmountDiffBuilder:DiffBuilder + public class MoleculeAmountDiffBuilder:DiffBuilder { private readonly QuantityDiffBuilder _quantityDiffBuilder; private readonly ContainerDiffBuilder _containerDiffBuilder; @@ -13,7 +13,7 @@ public MoleculeAmountDiffBuilder(QuantityDiffBuilder quantityDiffBuilder, Contai _containerDiffBuilder = containerDiffBuilder; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _quantityDiffBuilder.Compare(comparison); _containerDiffBuilder.Compare(comparison); diff --git a/src/OSPSuite.Core/Comparison/MoleculeBuilderDiffBuilder.cs b/src/OSPSuite.Core/Comparison/MoleculeBuilderDiffBuilder.cs index 458197c54..798a6de37 100644 --- a/src/OSPSuite.Core/Comparison/MoleculeBuilderDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/MoleculeBuilderDiffBuilder.cs @@ -3,7 +3,7 @@ namespace OSPSuite.Core.Comparison { - internal class MoleculeBuilderDiffBuilder : DiffBuilder + internal class MoleculeBuilderDiffBuilder : DiffBuilder { private readonly ContainerDiffBuilder _containerDiffBuilder; private readonly IObjectComparer _objectComparer; @@ -16,7 +16,7 @@ public MoleculeBuilderDiffBuilder(ContainerDiffBuilder containerDiffBuilder, IOb _enumerableComparerComparer = enumerableComparer; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _containerDiffBuilder.Compare(comparison); CompareValues(x=>!x.IsFloating,Captions.Diff.Stationary,comparison); diff --git a/src/OSPSuite.Core/Comparison/ObserverBuilderDiffBuilder.cs b/src/OSPSuite.Core/Comparison/ObserverBuilderDiffBuilder.cs index 78fb9a66b..2a33c5d84 100644 --- a/src/OSPSuite.Core/Comparison/ObserverBuilderDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/ObserverBuilderDiffBuilder.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Comparison { - public class ObserverBuilderDiffBuilder : DiffBuilder + public class ObserverBuilderDiffBuilder : DiffBuilder { private readonly EntityDiffBuilder _entityDiffBuilder; private readonly MoleculeDependentBuilderDiffBuilder _moleculeDependentDiffBuilder; @@ -15,7 +15,7 @@ public ObserverBuilderDiffBuilder(EntityDiffBuilder entityDiffBuilder, MoleculeD _objectComparer = objectComparer; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _entityDiffBuilder.Compare(comparison); _moleculeDependentDiffBuilder.Compare(comparison); diff --git a/src/OSPSuite.Core/Comparison/ReactionBuilderDiffBuilder.cs b/src/OSPSuite.Core/Comparison/ReactionBuilderDiffBuilder.cs index 26763190a..c06abc79c 100644 --- a/src/OSPSuite.Core/Comparison/ReactionBuilderDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/ReactionBuilderDiffBuilder.cs @@ -3,7 +3,7 @@ namespace OSPSuite.Core.Comparison { - public class ReactionBuilderDiffBuilder : DiffBuilder + public class ReactionBuilderDiffBuilder : DiffBuilder { private readonly ContainerDiffBuilder _containerDiffBuilder; private readonly EnumerableComparer _enumerableComparer; @@ -16,7 +16,7 @@ public ReactionBuilderDiffBuilder(IObjectComparer objectComparer, ContainerDiffB _objectComparer = objectComparer; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _containerDiffBuilder.Compare(comparison); _objectComparer.Compare(comparison.FormulaComparison()); diff --git a/src/OSPSuite.Core/Comparison/ReactionDiffBuilder.cs b/src/OSPSuite.Core/Comparison/ReactionDiffBuilder.cs index 317c9f72c..7b09ce453 100644 --- a/src/OSPSuite.Core/Comparison/ReactionDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/ReactionDiffBuilder.cs @@ -3,7 +3,7 @@ namespace OSPSuite.Core.Comparison { - public class ReactionDiffBuilder : DiffBuilder + public class ReactionDiffBuilder : DiffBuilder { private readonly ContainerDiffBuilder _containerDiffBuilder; private readonly EnumerableComparer _enumerableComparer; @@ -16,7 +16,7 @@ public ReactionDiffBuilder(IObjectComparer objectComparer, ContainerDiffBuilder _objectComparer = objectComparer; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _containerDiffBuilder.Compare(comparison); _objectComparer.Compare(comparison.FormulaComparison()); diff --git a/src/OSPSuite.Core/Comparison/ReactionPartnerBuilderDiffBuilder.cs b/src/OSPSuite.Core/Comparison/ReactionPartnerBuilderDiffBuilder.cs index 4fdea6e3b..c99bf5a80 100644 --- a/src/OSPSuite.Core/Comparison/ReactionPartnerBuilderDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/ReactionPartnerBuilderDiffBuilder.cs @@ -2,9 +2,9 @@ namespace OSPSuite.Core.Comparison { - public class ReactionPartnerBuilderDiffBuilder : DiffBuilder + public class ReactionPartnerBuilderDiffBuilder : DiffBuilder { - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { CompareStringValues(x => x.MoleculeName, x => x.MoleculeName, comparison); CompareDoubleValues(x => x.StoichiometricCoefficient, x => x.StoichiometricCoefficient, comparison); diff --git a/src/OSPSuite.Core/Comparison/ReactionPartnerDiffBuilder.cs b/src/OSPSuite.Core/Comparison/ReactionPartnerDiffBuilder.cs index 4b3048370..3f0bcdaa8 100644 --- a/src/OSPSuite.Core/Comparison/ReactionPartnerDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/ReactionPartnerDiffBuilder.cs @@ -3,9 +3,9 @@ namespace OSPSuite.Core.Comparison { - public class ReactionPartnerDiffBuilder : DiffBuilder + public class ReactionPartnerDiffBuilder : DiffBuilder { - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { CompareStringValues(x => x.Partner.Name,Captions.Diff.ReactionPartnerName, comparison); CompareValues(x => x.StoichiometricCoefficient, x => x.StoichiometricCoefficient, comparison); diff --git a/src/OSPSuite.Core/Comparison/TransportDiffBuilder.cs b/src/OSPSuite.Core/Comparison/TransportDiffBuilder.cs index 8b41bb7d9..9e3f1220d 100644 --- a/src/OSPSuite.Core/Comparison/TransportDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/TransportDiffBuilder.cs @@ -4,7 +4,7 @@ namespace OSPSuite.Core.Comparison { - public class TransportDiffBuilder : DiffBuilder + public class TransportDiffBuilder : DiffBuilder { private readonly ContainerDiffBuilder _containerDiffBuilder; private readonly IObjectComparer _objectComparer; @@ -17,7 +17,7 @@ public TransportDiffBuilder(ContainerDiffBuilder containerDiffBuilder, IObjectCo _entityPathResolver = entityPathResolver; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _containerDiffBuilder.Compare(comparison); CompareValues(x => _entityPathResolver.PathFor(x.TargetAmount), Captions.Diff.TargetAmount, comparison); diff --git a/src/OSPSuite.Core/Comparison/TransporterBuilderDiffBuilder.cs b/src/OSPSuite.Core/Comparison/TransporterBuilderDiffBuilder.cs index 38f2b03f1..3e43c64db 100644 --- a/src/OSPSuite.Core/Comparison/TransporterBuilderDiffBuilder.cs +++ b/src/OSPSuite.Core/Comparison/TransporterBuilderDiffBuilder.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Comparison { - public class TransporterBuilderDiffBuilder : DiffBuilder + public class TransporterBuilderDiffBuilder : DiffBuilder { private readonly ContainerDiffBuilder _containerDiffBuilder; private readonly IObjectComparer _objectComparer; @@ -15,7 +15,7 @@ public TransporterBuilderDiffBuilder(ContainerDiffBuilder containerDiffBuilder, _moleculeDependentBuilderDiffBuilder = moleculeDependentBuilderDiffBuilder; } - public override void Compare(IComparison comparison) + public override void Compare(IComparison comparison) { _containerDiffBuilder.Compare(comparison); CompareValues(x => x.SourceCriteria, x => x.SourceCriteria, comparison); diff --git a/src/OSPSuite.Core/Converters/v12/Converter110To120.cs b/src/OSPSuite.Core/Converters/v12/Converter110To120.cs index 43ba25e9e..793adb464 100644 --- a/src/OSPSuite.Core/Converters/v12/Converter110To120.cs +++ b/src/OSPSuite.Core/Converters/v12/Converter110To120.cs @@ -12,7 +12,7 @@ namespace OSPSuite.Core.Converters.v12 { public class Converter110To120 : IObjectConverter, - IVisitor, + IVisitor, IVisitor, IVisitor, IVisitor, @@ -101,7 +101,7 @@ private void convertBuildConfigurationToSimulationConfiguration(XElement buildCo private void performConversion(object objectToUpdate) => this.Visit(objectToUpdate); - public void Visit(ISpatialStructure spatialStructure) + public void Visit(SpatialStructure spatialStructure) { spatialStructure.Neighborhoods.Each(updateNeighborsPathIn); } diff --git a/src/OSPSuite.Core/Converters/v7_3/Converter710To730.cs b/src/OSPSuite.Core/Converters/v7_3/Converter710To730.cs index a92740f64..4d6afdb7c 100644 --- a/src/OSPSuite.Core/Converters/v7_3/Converter710To730.cs +++ b/src/OSPSuite.Core/Converters/v7_3/Converter710To730.cs @@ -10,12 +10,12 @@ namespace OSPSuite.Core.Converters.v7_3 { public class Converter710To730 : IObjectConverter, IVisitor, - IVisitor, + IVisitor, IVisitor, - IVisitor, + IVisitor, IVisitor, - IVisitor, - IVisitor, + IVisitor, + IVisitor, IVisitor { private bool _converted = false; @@ -68,7 +68,7 @@ public void Visit(ParameterStartValuesBuildingBlock parameterStartValuesBuilding parameterStartValuesBuildingBlock.Each(ConvertWithDefaultStateObjectToDefault); } - public void Visit(IEventGroupBuildingBlock eventGroupBuildingBlock) + public void Visit(EventGroupBuildingBlock eventGroupBuildingBlock) { ConvertAllParametersIn(eventGroupBuildingBlock); } @@ -78,12 +78,12 @@ public void Visit(MoleculeBuildingBlock moleculeBuildingBlock) ConvertAllParametersIn(moleculeBuildingBlock); } - public void Visit(IReactionBuildingBlock reactionBuildingBlock) + public void Visit(ReactionBuildingBlock reactionBuildingBlock) { ConvertAllParametersIn(reactionBuildingBlock); } - public void Visit(ISpatialStructure spatialStructure) + public void Visit(SpatialStructure spatialStructure) { spatialStructure.Each(ConvertAllParametersIn); } @@ -104,7 +104,7 @@ public void ConvertWithDefaultStateObjectToDefault(IWithDefaultState withDefault _converted = true; } - public void Visit(IPassiveTransportBuildingBlock passiveTransportBuildingBlock) + public void Visit(PassiveTransportBuildingBlock passiveTransportBuildingBlock) { ConvertAllParametersIn(passiveTransportBuildingBlock); } diff --git a/src/OSPSuite.Core/Diagram/IReactionDiagramManager.cs b/src/OSPSuite.Core/Diagram/IReactionDiagramManager.cs index 6d547a878..6c5d92856 100644 --- a/src/OSPSuite.Core/Diagram/IReactionDiagramManager.cs +++ b/src/OSPSuite.Core/Diagram/IReactionDiagramManager.cs @@ -6,15 +6,15 @@ namespace OSPSuite.Core.Diagram { public interface IReactionDiagramManager : IDiagramManager where T : IWithDiagramFor { - void AddMolecule(IReactionBuilder reactionBuilder, string moleculeName); - void RemoveMolecule(IReactionBuilder reactionBuilder, string moleculeName); - void RenameMolecule(IReactionBuilder reactionBuilder, string oldMoleculeName, string newMoleculeName); + void AddMolecule(ReactionBuilder reactionBuilder, string moleculeName); + void RemoveMolecule(ReactionBuilder reactionBuilder, string moleculeName); + void RenameMolecule(ReactionBuilder reactionBuilder, string oldMoleculeName, string newMoleculeName); IMoleculeNode AddMoleculeNode(string moleculeName); void RemoveMoleculeNode(IMoleculeNode moleculeNode); IEnumerable GetMoleculeNodes(string moleculeName); IEnumerable GetMoleculeNodes(); void UpdateReactionBuilder(IObjectBase reactionAsObjectBase, IBaseNode reactionNodeAsBaseNode); - void UpdateReactionBuilder(IReactionBuilder reactionBuilder); - IReactionNode ReactionNodeFor(IReactionBuilder reactionBuilder); + void UpdateReactionBuilder(ReactionBuilder reactionBuilder); + IReactionNode ReactionNodeFor(ReactionBuilder reactionBuilder); } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/AmountObserverBuilder.cs b/src/OSPSuite.Core/Domain/Builder/AmountObserverBuilder.cs index 216cf3d79..c06e7287d 100644 --- a/src/OSPSuite.Core/Domain/Builder/AmountObserverBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/AmountObserverBuilder.cs @@ -1,23 +1,14 @@ namespace OSPSuite.Core.Domain.Builder { /// - /// Configuration for molecule-specific observer which references only one molecule amount at specific location. - /// Corresponding observer will be stored under molecule amount - /// in the spatial structure of the model. - /// Typical example: "Concentration"-Observer (M/V) + /// Configuration for molecule-specific observer which references only one molecule amount at specific location. + /// + /// Corresponding observer will be stored under molecule amount + /// in the spatial structure of the model. + /// + /// Typical example: "Concentration"-Observer (M/V) /// - public interface IAmountObserverBuilder : IObserverBuilder + public class AmountObserverBuilder : ObserverBuilder { } - - /// - /// Configuration for molecule-specific observer which references only one molecule amount at specific location. - /// Corresponding observer will be stored under molecule amount - /// in the spatial structure of the model. - /// Typical example: "Concentration"-Observer (M/V) - /// - public class AmountObserverBuilder : ObserverBuilder, IAmountObserverBuilder - { - - } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/ApplicationBuilder.cs b/src/OSPSuite.Core/Domain/Builder/ApplicationBuilder.cs index e52b5530c..46a3a7ed4 100644 --- a/src/OSPSuite.Core/Domain/Builder/ApplicationBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/ApplicationBuilder.cs @@ -3,15 +3,18 @@ namespace OSPSuite.Core.Domain.Builder { - /// - /// Defines properties of an application - /// - public interface IApplicationBuilder : IEventGroupBuilder + public class ApplicationBuilder : EventGroupBuilder { /// /// Name of the molecule which will be administered /// - string MoleculeName { get; set; } + public string MoleculeName { get; set; } + + public ApplicationBuilder() + { + MoleculeName = string.Empty; + ContainerType = ContainerType.Application; + } /// /// All transports whose source container is subcontainer of the application @@ -20,83 +23,40 @@ public interface IApplicationBuilder : IEventGroupBuilder /// /// but also of the spatial structure, where the application will be inserted /// - IEnumerable Transports { get; } + public IEnumerable Transports => GetChildren(); /// /// Add new application transport /// - /// - void AddTransport(ITransportBuilder appTransport); + public void AddTransport(TransportBuilder appTransport) => Add(appTransport); /// /// Remove application transport /// - /// - void RemoveTransport(ITransportBuilder appTransport); + public void RemoveTransport(TransportBuilder appTransport) => RemoveChild(appTransport); /// /// Locations and start formulas of the molecule given by /// - IEnumerable Molecules { get; } + public IEnumerable Molecules => GetChildren(); /// /// Add application molecule /// /// - void AddMolecule(IApplicationMoleculeBuilder appMoleculeBuilder); + public void AddMolecule(ApplicationMoleculeBuilder appMoleculeBuilder) => Add(appMoleculeBuilder); /// /// Remove application molecule /// /// - void RemoveMolecule(IApplicationMoleculeBuilder appMoleculeBuilder); - } - - public class ApplicationBuilder : EventGroupBuilder, IApplicationBuilder - { - public string MoleculeName { get; set; } - - public ApplicationBuilder() - { - MoleculeName = string.Empty; - ContainerType = ContainerType.Application; - } - - public IEnumerable Transports - { - get { return GetChildren(); } - } - - public void AddTransport(ITransportBuilder appTransport) - { - Add(appTransport); - } - - public void RemoveTransport(ITransportBuilder appTransport) - { - RemoveChild(appTransport); - } - - public IEnumerable Molecules - { - get { return GetChildren(); } - } - - public void AddMolecule(IApplicationMoleculeBuilder appMoleculeBuilder) - { - Add(appMoleculeBuilder); - } - - public void RemoveMolecule(IApplicationMoleculeBuilder appMoleculeBuilder) - { - RemoveChild(appMoleculeBuilder); - } + public void RemoveMolecule(ApplicationMoleculeBuilder appMoleculeBuilder) => RemoveChild(appMoleculeBuilder); public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager cloneManager) { base.UpdatePropertiesFrom(source, cloneManager); - var srcApplicationBuilder = source as IApplicationBuilder; + var srcApplicationBuilder = source as ApplicationBuilder; if (srcApplicationBuilder == null) return; MoleculeName = srcApplicationBuilder.MoleculeName; diff --git a/src/OSPSuite.Core/Domain/Builder/ApplicationMoleculeBuilder.cs b/src/OSPSuite.Core/Domain/Builder/ApplicationMoleculeBuilder.cs index 6c176fafe..b4f5995de 100644 --- a/src/OSPSuite.Core/Domain/Builder/ApplicationMoleculeBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/ApplicationMoleculeBuilder.cs @@ -4,25 +4,15 @@ namespace OSPSuite.Core.Domain.Builder { - /// - /// Location and start formula for the molecule amounts - /// - /// which are defined within any application subcontainer. - /// Formula is the start formula of the application molecule amount for the given compartment - /// - public interface IApplicationMoleculeBuilder : IUsingFormula + public class ApplicationMoleculeBuilder : Entity, IUsingFormula { /// /// Path to the container where the molecule amount will be created /// /// Must be defined relative to the root container of the application /// - ObjectPath RelativeContainerPath { get; set; } - } - - public class ApplicationMoleculeBuilder : Entity, IApplicationMoleculeBuilder - { public ObjectPath RelativeContainerPath { get; set; } + public IFormula Formula { get; set; } public IDimension Dimension { get; set; } @@ -30,7 +20,7 @@ public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager clone { base.UpdatePropertiesFrom(source, cloneManager); - var srcAppMoleculeBuilder = source as IApplicationMoleculeBuilder; + var srcAppMoleculeBuilder = source as ApplicationMoleculeBuilder; if (srcAppMoleculeBuilder == null) return; RelativeContainerPath = srcAppMoleculeBuilder.RelativeContainerPath.Clone(); diff --git a/src/OSPSuite.Core/Domain/Builder/BuildConfiguration.cs b/src/OSPSuite.Core/Domain/Builder/BuildConfiguration.cs deleted file mode 100644 index 9b38afc06..000000000 --- a/src/OSPSuite.Core/Domain/Builder/BuildConfiguration.cs +++ /dev/null @@ -1,113 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using OSPSuite.Core.Serialization.SimModel.Services; -using OSPSuite.Utility.Extensions; -using OSPSuite.Utility.Visitor; - -namespace OSPSuite.Core.Domain.Builder -{ - /// - /// A set of Building Blocks used to create a Model - /// - public interface IBuildConfiguration : IVisitable - { - MoleculeBuildingBlock Molecules { set; get; } - IReactionBuildingBlock Reactions { set; get; } - IPassiveTransportBuildingBlock PassiveTransports { set; get; } - ISpatialStructure SpatialStructure { set; get; } - MoleculeStartValuesBuildingBlock MoleculeStartValues { set; get; } - ParameterStartValuesBuildingBlock ParameterStartValues { set; get; } - IObserverBuildingBlock Observers { get; set; } - IEventGroupBuildingBlock EventGroups { get; set; } - SimulationSettings SimulationSettings { get; set; } - - /// - /// Returns the calculation that will be used to create the model structure - /// - IReadOnlyList AllCalculationMethods(); - - /// - /// Add a calculation method to the list of used calculation method for the given configuration - /// - void AddCalculationMethod(ICoreCalculationMethod calculationMethodToAdd); - - /// - /// If the flag is true, the validation will be performed in the model construction. Otherwise, validation will be - /// skipped. - /// Default is true - /// - bool ShouldValidate { get; set; } - - /// - /// Set to true, the progress events will be triggered while creating the model. Default is true - /// - bool ShowProgress { get; set; } - - /// - /// Set to true (default), the circular reference check will be performed when creating a simulation. This - /// should only be set to false for very massive model. - /// - bool PerformCircularReferenceCheck { get; set; } - - /// - /// Returns the building block defined in the configuration - /// - IEnumerable AllBuildingBlocks { get; } - } - - /// - /// A set of Building Blocks used to create a Model - /// - public class BuildConfiguration : IBuildConfiguration - { - private readonly List _allCalculationMethods; - public virtual ISpatialStructure SpatialStructure { get; set; } - public virtual MoleculeStartValuesBuildingBlock MoleculeStartValues { get; set; } - public virtual ParameterStartValuesBuildingBlock ParameterStartValues { get; set; } - public virtual IObserverBuildingBlock Observers { get; set; } - public virtual MoleculeBuildingBlock Molecules { get; set; } - public virtual IReactionBuildingBlock Reactions { get; set; } - public virtual IPassiveTransportBuildingBlock PassiveTransports { get; set; } - public virtual IEventGroupBuildingBlock EventGroups { get; set; } - public virtual SimulationSettings SimulationSettings { get; set; } - - public SimModelExportMode SimModelExportMode { get; set; } = SimModelExportMode.Full; - - public bool ShouldValidate { get; set; } = true; - public bool ShowProgress { get; set; } = true; - public bool PerformCircularReferenceCheck { get; set; } = true; - - public BuildConfiguration() - { - _allCalculationMethods = new List(); - } - - public virtual IReadOnlyList AllCalculationMethods() - { - return _allCalculationMethods; - } - - public virtual void AddCalculationMethod(ICoreCalculationMethod calculationMethodToAdd) - { - _allCalculationMethods.Add(calculationMethodToAdd); - } - - public virtual IEnumerable AllBuildingBlocks - { - get - { - return new IBuildingBlock[] - { - Molecules, Reactions, SpatialStructure, - PassiveTransports, Observers, EventGroups, - MoleculeStartValues, ParameterStartValues, SimulationSettings - }.Where(bb => bb != null); - } - } - - public virtual void AcceptVisitor(IVisitor visitor) - { - AllBuildingBlocks.Each(x => x.AcceptVisitor(visitor)); - } - } -} \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/ContainerObserverBuilder.cs b/src/OSPSuite.Core/Domain/Builder/ContainerObserverBuilder.cs index 9cd5c3a73..1ae9a3c33 100644 --- a/src/OSPSuite.Core/Domain/Builder/ContainerObserverBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/ContainerObserverBuilder.cs @@ -1,16 +1,13 @@ namespace OSPSuite.Core.Domain.Builder { /// - /// Configuration for molecule-specific observers which will be created in the - /// molecule subcontainer of some model container, e.g. - /// - average concentration in an organ + /// Configuration for molecule-specific observers which will be created in the + /// molecule subcontainer of some model container, e.g. + /// + /// - average concentration in an organ + /// /// - public interface IContainerObserverBuilder : IObserverBuilder - { - - } - - public class ContainerObserverBuilder : ObserverBuilder, IContainerObserverBuilder + public class ContainerObserverBuilder : ObserverBuilder { } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/CoreCalculationMethod.cs b/src/OSPSuite.Core/Domain/Builder/CoreCalculationMethod.cs index 34a7b3055..7abd2db3e 100644 --- a/src/OSPSuite.Core/Domain/Builder/CoreCalculationMethod.cs +++ b/src/OSPSuite.Core/Domain/Builder/CoreCalculationMethod.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using OSPSuite.Assets; -using OSPSuite.Utility.Collections; -using OSPSuite.Utility.Extensions; using OSPSuite.Core.Domain.Descriptors; using OSPSuite.Core.Domain.Formulas; using OSPSuite.Core.Domain.Services; +using OSPSuite.Utility.Collections; +using OSPSuite.Utility.Extensions; namespace OSPSuite.Core.Domain.Builder { @@ -14,68 +14,38 @@ namespace OSPSuite.Core.Domain.Builder /// For instance, a calculation Method RR will describes for the category Partition Coefficient how /// the parameters of the Rodger And Roland Model are calculated /// - public interface ICoreCalculationMethod : IBuildingBlock + public class CoreCalculationMethod : BuildingBlock { /// /// Name of the category where the calculation methods belongs /// - string Category { get; set; } - - /// - /// Defines a formula that will be defined for all parameter matching the descriptor. - /// This is typically the generic calculation one partition coefficient (formula) - /// and the descriptor of the parameter - /// - void AddOutputFormula(IFormula formula, ParameterDescriptor parameterDescriptor); - - /// - /// Adds a parameter that is only used as "help" parameter in order to calculate the formulas defined - /// in the calculation method. The parameter will be created in all containers matching the decriptor criteria condition - /// - /// Parameter that will be created - /// Criteria of container where the parameter will be created - void AddHelpParameter(IParameter parameter, DescriptorCriteria containerCriteria); - - /// - /// Returns all output formulas (formula describing the parameter of the calculation method) - /// - IEnumerable AllOutputFormulas(); - - /// - /// Returns the parameter descriptor describing the criteria where the formula should be used - /// - ParameterDescriptor DescriptorFor(IFormula outputFormula); - - /// - /// Returns all help parameters defined in the calculation method - /// - IEnumerable AllHelpParameters(); - - /// - /// Returns the descriptor describing the location were the given help parameter should be created - /// - DescriptorCriteria DescriptorFor(IParameter helpParameter); - } - - public class CoreCalculationMethod : BuildingBlock, ICoreCalculationMethod - { public string Category { get; set; } - private readonly ICache _outputFormulas; - private readonly ICache _helpParameters; + + private readonly Cache _outputFormulas = new Cache(); + private readonly Cache _helpParameters = new Cache(); public CoreCalculationMethod() { Icon = IconNames.CALCULATION_METHOD; - _outputFormulas = new Cache(); - _helpParameters = new Cache(); } + /// + /// Defines a formula that will be defined for all parameter matching the descriptor. + /// This is typically the generic calculation one partition coefficient (formula) + /// and the descriptor of the parameter + /// public void AddOutputFormula(IFormula formula, ParameterDescriptor parameterDescriptor) { //Add in formula cache _outputFormulas.Add(formula, parameterDescriptor); } + /// + /// Adds a parameter that is only used as "help" parameter in order to calculate the formulas defined + /// in the calculation method. The parameter will be created in all containers matching the decriptor criteria condition + /// + /// Parameter that will be created + /// Criteria of container where the parameter will be created public void AddHelpParameter(IParameter parameter, DescriptorCriteria containerCriteria) { if (parameter == null) @@ -90,35 +60,29 @@ public void AddHelpParameter(IParameter parameter, DescriptorCriteria containerC _helpParameters.Add(parameter, containerCriteria); } - public IEnumerable AllOutputFormulas() - { - return _outputFormulas.Keys; - } + /// + /// Returns all output formulas (formula describing the parameter of the calculation method) + /// + public IEnumerable AllOutputFormulas() => _outputFormulas.Keys; - public ParameterDescriptor DescriptorFor(IFormula outputFormula) - { - return _outputFormulas[outputFormula]; - } + /// + /// Returns the parameter descriptor describing the criteria where the formula should be used + /// + public ParameterDescriptor DescriptorFor(IFormula outputFormula) => _outputFormulas[outputFormula]; - public IEnumerable AllHelpParameters() - { - return _helpParameters.Keys; - } + /// + /// Returns all help parameters defined in the calculation method + /// + public IEnumerable AllHelpParameters() => _helpParameters.Keys; - public DescriptorCriteria DescriptorFor(IParameter helpParameter) - { - return _helpParameters[helpParameter]; - } + /// + /// Returns the descriptor describing the location were the given help parameter should be created + /// + public DescriptorCriteria DescriptorFor(IParameter helpParameter) => _helpParameters[helpParameter]; - public ICache OutputFormulas - { - get { return _outputFormulas; } - } + public ICache OutputFormulas => _outputFormulas; - public ICache HelpParameters - { - get { return _helpParameters; } - } + public ICache HelpParameters => _helpParameters; public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager cloneManager) { diff --git a/src/OSPSuite.Core/Domain/Builder/CoreCalculationMethodRepository.cs b/src/OSPSuite.Core/Domain/Builder/CoreCalculationMethodRepository.cs index 23f959f10..7f492c8f1 100644 --- a/src/OSPSuite.Core/Domain/Builder/CoreCalculationMethodRepository.cs +++ b/src/OSPSuite.Core/Domain/Builder/CoreCalculationMethodRepository.cs @@ -6,53 +6,48 @@ namespace OSPSuite.Core.Domain.Builder { public interface ICoreCalculationMethodRepository { - IEnumerable GetAllCalculationMethodsFor(string category); - void AddCalculationMethod(ICoreCalculationMethod calculationMethod); - IEnumerable GetAllCategoriesDefault(); - IEnumerable All(); + IEnumerable GetAllCalculationMethodsFor(string category); + void AddCalculationMethod(CoreCalculationMethod calculationMethod); + IEnumerable GetAllCategoriesDefault(); + IEnumerable All(); } public class CoreCalculationMethodRepository : ICoreCalculationMethodRepository { - private readonly IList _allMethods; + private readonly List _allMethods; private bool _cachedDefaults; - private IEnumerable _defaults; + private IEnumerable _defaults; public CoreCalculationMethodRepository() { - _allMethods = new List(); + _allMethods = new List(); } - public IEnumerable GetAllCalculationMethodsFor(string category) + public IEnumerable GetAllCalculationMethodsFor(string category) { return _allMethods.Where(cm => cm.Category.Equals(category)); } - public void AddCalculationMethod(ICoreCalculationMethod calculationMethod) + public void AddCalculationMethod(CoreCalculationMethod calculationMethod) { _allMethods.Add(calculationMethod); } - public IEnumerable GetAllCategoriesDefault() + public IEnumerable GetAllCategoriesDefault() { if (!_cachedDefaults) { - var defaults = new List(); + var defaults = new List(); GetAllCategories().Each(cat => defaults.Add(GetAllCalculationMethodsFor(cat).First())); _defaults = defaults; _cachedDefaults = true; } + return _defaults; } - public IEnumerable All() - { - return _allMethods.Select(x => x); - } + public IEnumerable All() => _allMethods.Select(x => x); - public IEnumerable GetAllCategories() - { - return _allMethods.Select(cm => cm.Category).Distinct(); - } + public IEnumerable GetAllCategories() => _allMethods.Select(cm => cm.Category).Distinct(); } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/EventAssignmentBuilder.cs b/src/OSPSuite.Core/Domain/Builder/EventAssignmentBuilder.cs index 1aa9e3bbd..2f8ca3dad 100644 --- a/src/OSPSuite.Core/Domain/Builder/EventAssignmentBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/EventAssignmentBuilder.cs @@ -19,14 +19,7 @@ public interface IAssignment : IUsingFormula bool UseAsValue { get; set; } } - /// - /// Defines new formula for a using formula object - /// - public interface IEventAssignmentBuilder : IAssignment - { - } - - public class EventAssignmentBuilder : Entity, IEventAssignmentBuilder + public class EventAssignmentBuilder : Entity, IAssignment { public ObjectPath ObjectPath { get; set; } @@ -42,7 +35,7 @@ public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager clone { base.UpdatePropertiesFrom(source, cloneManager); - var srcEventAssignmentBuilder = source as IEventAssignmentBuilder; + var srcEventAssignmentBuilder = source as EventAssignmentBuilder; if (srcEventAssignmentBuilder == null) return; UseAsValue = srcEventAssignmentBuilder.UseAsValue; diff --git a/src/OSPSuite.Core/Domain/Builder/EventBuilder.cs b/src/OSPSuite.Core/Domain/Builder/EventBuilder.cs index 9a41643db..869818e05 100644 --- a/src/OSPSuite.Core/Domain/Builder/EventBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/EventBuilder.cs @@ -5,37 +5,15 @@ namespace OSPSuite.Core.Domain.Builder { - /// - /// Defines a single event. The event will fire if its IfCondition is fulfilled - /// - public interface IEventBuilder : IUsingFormula, IContainsParameters, IContainer + public class EventBuilder : Container, IUsingFormula, IContainsParameters { - /// - /// List of triggered by the event. - /// - IEnumerable Assignments { get; } - - /// - /// Adds the - /// - void AddAssignment(IEventAssignmentBuilder assignment); - - /// - /// Removes the . - /// - void RemoveAssignment(IEventAssignmentBuilder assignment); + public IDimension Dimension { get; set; } /// /// If true, event will fire only one time (once the IfCondition-formula is fulfilled) /// /// If false (default), event will fire every time its IfCondition-formula is fulfilled /// - bool OneTime { get; set; } - } - - public class EventBuilder : Container, IEventBuilder - { - public IDimension Dimension { get; set; } public bool OneTime { get; set; } /// @@ -48,45 +26,35 @@ public EventBuilder() OneTime = false; } - public IEnumerable Assignments - { - get { return GetChildren(); } - } + /// + /// List of triggered by the event. + /// + public IEnumerable Assignments => GetChildren(); - public void AddAssignment(IEventAssignmentBuilder assignment) - { - Add(assignment); - } + /// + /// Adds the + /// + public void AddAssignment(EventAssignmentBuilder assignment) => Add(assignment); - public void RemoveAssignment(IEventAssignmentBuilder assignment) - { - RemoveChild(assignment); - } + /// + /// Removes the . + /// + public void RemoveAssignment(EventAssignmentBuilder assignment) => RemoveChild(assignment); /// /// List of used by this switch only /// - public IEnumerable Parameters - { - get { return GetChildren(); } - } - - public void AddParameter(IParameter parameter) - { - Add(parameter); - } + public IEnumerable Parameters => GetChildren(); - public void RemoveParameter(IParameter parameter) - { - RemoveChild(parameter); - } + public void AddParameter(IParameter parameter) => Add(parameter); + public void RemoveParameter(IParameter parameter) => RemoveChild(parameter); public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager cloneManager) { base.UpdatePropertiesFrom(source, cloneManager); - var srcEventBuilder = source as IEventBuilder; + var srcEventBuilder = source as EventBuilder; if (srcEventBuilder == null) return; Dimension = srcEventBuilder.Dimension; diff --git a/src/OSPSuite.Core/Domain/Builder/EventGroupBuilder.cs b/src/OSPSuite.Core/Domain/Builder/EventGroupBuilder.cs index 056b97f7f..77f9ce809 100644 --- a/src/OSPSuite.Core/Domain/Builder/EventGroupBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/EventGroupBuilder.cs @@ -5,34 +5,24 @@ namespace OSPSuite.Core.Domain.Builder { /// - /// Consists of one or more which are usually related + /// Consists of one or more which are usually related /// /// to each other in terms of modeled problem. /// /// E.g. {Start of infusion; Stop of Infusion} /// - public interface IEventGroupBuilder : IContainer, IBuilder + public class EventGroupBuilder : Container, IBuilder { /// /// Defines in which containers the event should be created /// - DescriptorCriteria SourceCriteria { get; set; } - - /// - /// List of events in the group - /// - IEnumerable Events { get; } + public DescriptorCriteria SourceCriteria { get; set; } /// /// Type of event groups /// - string EventGroupType { get; set; } - } - - public class EventGroupBuilder : Container, IEventGroupBuilder - { - public DescriptorCriteria SourceCriteria { get; set; } public string EventGroupType { get; set; } + public IBuildingBlock BuildingBlock { get; set; } public EventGroupBuilder() @@ -41,13 +31,16 @@ public EventGroupBuilder() ContainerType = ContainerType.EventGroup; } - public IEnumerable Events => GetChildren(); + /// + /// List of events in the group + /// + public IEnumerable Events => GetChildren(); public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager cloneManager) { base.UpdatePropertiesFrom(source, cloneManager); - var srcEventGroupBuilder = source as IEventGroupBuilder; + var srcEventGroupBuilder = source as EventGroupBuilder; if (srcEventGroupBuilder == null) return; EventGroupType = srcEventGroupBuilder.EventGroupType; SourceCriteria = srcEventGroupBuilder.SourceCriteria.Clone(); diff --git a/src/OSPSuite.Core/Domain/Builder/EventGroupBuildingBlock.cs b/src/OSPSuite.Core/Domain/Builder/EventGroupBuildingBlock.cs index 15c404d20..1b18f9024 100644 --- a/src/OSPSuite.Core/Domain/Builder/EventGroupBuildingBlock.cs +++ b/src/OSPSuite.Core/Domain/Builder/EventGroupBuildingBlock.cs @@ -2,14 +2,7 @@ namespace OSPSuite.Core.Domain.Builder { - /// - /// EventGroups building block - /// - public interface IEventGroupBuildingBlock : IBuildingBlock - { - } - - public class EventGroupBuildingBlock : BuildingBlock, IEventGroupBuildingBlock + public class EventGroupBuildingBlock : BuildingBlock { public EventGroupBuildingBlock() { diff --git a/src/OSPSuite.Core/Domain/Builder/InteractionContainer.cs b/src/OSPSuite.Core/Domain/Builder/InteractionContainer.cs index 2c7dc8910..6dd1ea66e 100644 --- a/src/OSPSuite.Core/Domain/Builder/InteractionContainer.cs +++ b/src/OSPSuite.Core/Domain/Builder/InteractionContainer.cs @@ -1,7 +1,7 @@ namespace OSPSuite.Core.Domain.Builder { /// - /// Container definfing the possible interactions triggered by a + /// Container defining the possible interactions triggered by a /// public class InteractionContainer : Container { diff --git a/src/OSPSuite.Core/Domain/Builder/MoleculeBuilder.cs b/src/OSPSuite.Core/Domain/Builder/MoleculeBuilder.cs index fa5eb1b5a..58c9b8500 100644 --- a/src/OSPSuite.Core/Domain/Builder/MoleculeBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/MoleculeBuilder.cs @@ -7,74 +7,30 @@ namespace OSPSuite.Core.Domain.Builder { - public interface IMoleculeBuilder : IContainer, IContainsParameters, IWithDisplayUnit, IBuilder + public class MoleculeBuilder : Container, IContainsParameters, IWithDisplayUnit, IBuilder { + private readonly ICache _usedCalculationMethods; + private Unit _displayUnit; + /// /// Default start formula. Dimension depends on settings used in the project (Amount or Concentration) /// - IFormula DefaultStartFormula { get; set; } + public IFormula DefaultStartFormula { get; set; } /// /// Set to true, the molecule will be floating in the spatial structure. (e.g. Not stationary) /// - bool IsFloating { get; set; } - - QuantityType QuantityType { get; set; } - - /// - /// Specifies the list of transporter by which the molecule will be transported. - /// - IEnumerable TransporterMoleculeContainerCollection { get; } - - void AddTransporterMoleculeContainer(TransporterMoleculeContainer transporterMolecule); - void RemoveTransporterMoleculeContainer(TransporterMoleculeContainer transporterMoleculeToRemove); - - /// - /// Specifies the list of interactions that the molecule can trigger - /// - IEnumerable InteractionContainerCollection { get; } - - void AddInteractionContainer(InteractionContainer interactionContainer); - void RemoveInteractionContainer(InteractionContainer interactionContainer); - - /// - /// Add the calculation method (category and name) to the molecule builder. - /// If a method was already added for the same category, an exception will be thrown - /// - void AddUsedCalculationMethod(UsedCalculationMethod calculationMethod); - - /// - /// Add the calculation method (category and name) to the molecule builder. - /// If a method was already added for the same category, an exception will be thrown - /// - void AddUsedCalculationMethod(ICoreCalculationMethod calculationMethod); + public bool IsFloating { get; set; } - IEnumerable UsedCalculationMethods { get; } + public QuantityType QuantityType { get; set; } /// /// Set to true, represents a molecule that is being simulated (such as Compound, Inhibitor, DrugComplex) etc /// Set to false, represents a molecule that is individual specific such as en Enzyme, Protein, Transporter, FcRn etc. /// Default value is true /// - bool IsXenobiotic { get; set; } - - bool IsFloatingXenobiotic { get; } - - /// - /// Gets the default start value for the Molecule - /// - /// The default value if the formula is a constant, otherwise null - double? GetDefaultMoleculeStartValue(); - } - - public class MoleculeBuilder : Container, IMoleculeBuilder - { - private readonly ICache _usedCalculationMethods; - private Unit _displayUnit; - public IFormula DefaultStartFormula { get; set; } - public bool IsFloating { get; set; } - public QuantityType QuantityType { get; set; } public bool IsXenobiotic { get; set; } + public IDimension Dimension { get; set; } public IBuildingBlock BuildingBlock { get; set; } @@ -91,21 +47,35 @@ public MoleculeBuilder() public IEnumerable Parameters => GetChildren(); + /// + /// Specifies the list of transporter by which the molecule will be transported. + /// public IEnumerable TransporterMoleculeContainerCollection => GetChildren(); public void AddTransporterMoleculeContainer(TransporterMoleculeContainer transporterMolecule) => Add(transporterMolecule); public void RemoveTransporterMoleculeContainer(TransporterMoleculeContainer transporterMoleculeToRemove) => RemoveChild(transporterMoleculeToRemove); + /// + /// Specifies the list of interactions that the molecule can trigger + /// public IEnumerable InteractionContainerCollection => GetChildren(); public void AddInteractionContainer(InteractionContainer interactionContainer) => Add(interactionContainer); public void RemoveInteractionContainer(InteractionContainer interactionContainer) => RemoveChild(interactionContainer); + /// + /// Add the calculation method (category and name) to the molecule builder. + /// If a method was already added for the same category, an exception will be thrown + /// public void AddUsedCalculationMethod(UsedCalculationMethod calculationMethod) => _usedCalculationMethods.Add(calculationMethod); - public void AddUsedCalculationMethod(ICoreCalculationMethod calculationMethod) + /// + /// Add the calculation method (category and name) to the molecule builder. + /// If a method was already added for the same category, an exception will be thrown + /// + public void AddUsedCalculationMethod(CoreCalculationMethod calculationMethod) { AddUsedCalculationMethod(new UsedCalculationMethod(calculationMethod.Category, calculationMethod.Name)); } @@ -114,6 +84,10 @@ public void AddUsedCalculationMethod(ICoreCalculationMethod calculationMethod) public bool IsFloatingXenobiotic => IsFloating && IsXenobiotic; + /// + /// Gets the default start value for the Molecule + /// + /// The default value if the formula is a constant, otherwise null public double? GetDefaultMoleculeStartValue() { if (DefaultStartFormula.IsConstant()) @@ -126,7 +100,7 @@ public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager clone { base.UpdatePropertiesFrom(source, cloneManager); - var sourceMoleculeBuilder = source as IMoleculeBuilder; + var sourceMoleculeBuilder = source as MoleculeBuilder; if (sourceMoleculeBuilder == null) return; IsFloating = sourceMoleculeBuilder.IsFloating; @@ -145,6 +119,5 @@ public virtual Unit DisplayUnit get => _displayUnit ?? Dimension?.DefaultUnit; set => SetProperty(ref _displayUnit, value); } - } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/MoleculeBuilderFactory.cs b/src/OSPSuite.Core/Domain/Builder/MoleculeBuilderFactory.cs index d384f74c1..a7805c965 100644 --- a/src/OSPSuite.Core/Domain/Builder/MoleculeBuilderFactory.cs +++ b/src/OSPSuite.Core/Domain/Builder/MoleculeBuilderFactory.cs @@ -9,7 +9,7 @@ public interface IMoleculeBuilderFactory /// Create a molecule builder containing the expected default parameter and formula /// /// - IMoleculeBuilder Create(IFormulaCache formulaCache); + MoleculeBuilder Create(IFormulaCache formulaCache); } public class MoleculeBuilderFactory : IMoleculeBuilderFactory @@ -26,9 +26,9 @@ public MoleculeBuilderFactory(IReactionDimensionRetriever reactionDimensionRetri _objectBaseFactory = objectBaseFactory; } - public IMoleculeBuilder Create(IFormulaCache formulaCache) + public MoleculeBuilder Create(IFormulaCache formulaCache) { - var moleculeBuilder = _objectBaseFactory.Create() + var moleculeBuilder = _objectBaseFactory.Create() .WithDimension(_reactionDimensionRetriever.MoleculeDimension); moleculeBuilder.QuantityType = QuantityType.Drug; diff --git a/src/OSPSuite.Core/Domain/Builder/MoleculeBuildingBlock.cs b/src/OSPSuite.Core/Domain/Builder/MoleculeBuildingBlock.cs index 2f37599d0..7af7153a3 100644 --- a/src/OSPSuite.Core/Domain/Builder/MoleculeBuildingBlock.cs +++ b/src/OSPSuite.Core/Domain/Builder/MoleculeBuildingBlock.cs @@ -4,18 +4,18 @@ namespace OSPSuite.Core.Domain.Builder { - public class MoleculeBuildingBlock : BuildingBlock + public class MoleculeBuildingBlock : BuildingBlock { public MoleculeBuildingBlock() { Icon = IconNames.MOLECULE; } - public IMoleculeBuilder this[string moleculeName] => this.FindByName(moleculeName); + public MoleculeBuilder this[string moleculeName] => this.FindByName(moleculeName); - public IEnumerable AllFloating() => this.Where(x => x.IsFloating); + public IEnumerable AllFloating() => this.Where(x => x.IsFloating); - public IEnumerable AllPresentFor(IEnumerable moleculesStartValues) + public IEnumerable AllPresentFor(IEnumerable moleculesStartValues) { var moleculeNames = moleculesStartValues.SelectMany(x => x) .Where(moleculeStartValue => moleculeStartValue.IsPresent) @@ -26,7 +26,7 @@ public IEnumerable AllPresentFor(IEnumerable this[moleculeName]).Where(m => m != null); } - public IEnumerable AllPresentFor(MoleculeStartValuesBuildingBlock moleculesStartValues) + public IEnumerable AllPresentFor(MoleculeStartValuesBuildingBlock moleculesStartValues) { return AllPresentFor(new[] {moleculesStartValues}); } diff --git a/src/OSPSuite.Core/Domain/Builder/NeighborhoodBuilder.cs b/src/OSPSuite.Core/Domain/Builder/NeighborhoodBuilder.cs index defd8dad3..f7b0e1514 100644 --- a/src/OSPSuite.Core/Domain/Builder/NeighborhoodBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/NeighborhoodBuilder.cs @@ -69,7 +69,7 @@ private void resolveReferenceIfRequired(IContainer container) /// This method should be called after deserialization or when a new container is added to the structure /// /// Spatial structure used to resolve containers (in all top containers) - public void ResolveReference(ISpatialStructure spatialStructure) => ResolveReference(spatialStructure.TopContainers); + public void ResolveReference(SpatialStructure spatialStructure) => ResolveReference(spatialStructure.TopContainers); public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager cloneManager) { diff --git a/src/OSPSuite.Core/Domain/Builder/ObserverBuilder.cs b/src/OSPSuite.Core/Domain/Builder/ObserverBuilder.cs index 6e9fcdd0f..04b11dbe6 100644 --- a/src/OSPSuite.Core/Domain/Builder/ObserverBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/ObserverBuilder.cs @@ -6,31 +6,26 @@ namespace OSPSuite.Core.Domain.Builder { - /// - /// Base interface for all observer builder types - /// - public interface IObserverBuilder : IUsingFormula, IMoleculeDependentBuilder - { - /// - /// Criteria for containers where given observer should be created - /// - DescriptorCriteria ContainerCriteria { get; set; } - } - /// /// Base class for all concrete observer builders /// - public class ObserverBuilder : Entity, IObserverBuilder + public class ObserverBuilder : Entity, IUsingFormula, IMoleculeDependentBuilder { - private readonly MoleculeList _moleculeList; public IFormula Formula { get; set; } public IDimension Dimension { get; set; } + + /// + /// Criteria for containers where given observer should be created + /// public DescriptorCriteria ContainerCriteria { get; set; } + + public MoleculeList MoleculeList { get; } + public IBuildingBlock BuildingBlock { get; set; } public ObserverBuilder() { - _moleculeList = new MoleculeList {ForAll = false}; + MoleculeList = new MoleculeList {ForAll = false}; ContainerCriteria = new DescriptorCriteria(); Icon = IconNames.OBSERVER; } @@ -39,20 +34,17 @@ public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager clone { base.UpdatePropertiesFrom(source, cloneManager); - var sourceObserverBuilder = source as IObserverBuilder; + var sourceObserverBuilder = source as ObserverBuilder; if (sourceObserverBuilder == null) return; Dimension = sourceObserverBuilder.Dimension; ContainerCriteria = sourceObserverBuilder.ContainerCriteria.Clone(); - _moleculeList.UpdatePropertiesFrom(sourceObserverBuilder.MoleculeList, cloneManager); + MoleculeList.UpdatePropertiesFrom(sourceObserverBuilder.MoleculeList, cloneManager); } - public MoleculeList MoleculeList => _moleculeList; - public bool ForAll { get => MoleculeList.ForAll; set => MoleculeList.ForAll = value; } - } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/ObserverBuildingBlock.cs b/src/OSPSuite.Core/Domain/Builder/ObserverBuildingBlock.cs index a0b50a24c..2f887c85b 100644 --- a/src/OSPSuite.Core/Domain/Builder/ObserverBuildingBlock.cs +++ b/src/OSPSuite.Core/Domain/Builder/ObserverBuildingBlock.cs @@ -4,24 +4,18 @@ namespace OSPSuite.Core.Domain.Builder { - public interface IObserverBuildingBlock : IBuildingBlock - { - IEnumerable AmountObserverBuilders { get; } - IEnumerable ContainerObserverBuilders { get; } - } - - public class ObserverBuildingBlock : BuildingBlock, IObserverBuildingBlock + public class ObserverBuildingBlock : BuildingBlock { public ObserverBuildingBlock() { Icon = IconNames.OBSERVER; } - public IEnumerable AmountObserverBuilders => getTypedObserverBuilder(); + public IEnumerable AmountObserverBuilders => getTypedObserverBuilder(); - public IEnumerable ContainerObserverBuilders => getTypedObserverBuilder(); + public IEnumerable ContainerObserverBuilders => getTypedObserverBuilder(); - private IEnumerable getTypedObserverBuilder() where T : class, IObserverBuilder + private IEnumerable getTypedObserverBuilder() where T : ObserverBuilder { return from observerBuilder in this let amountObserverBuilder = observerBuilder as T diff --git a/src/OSPSuite.Core/Domain/Builder/PassiveTransportBuildingBlock.cs b/src/OSPSuite.Core/Domain/Builder/PassiveTransportBuildingBlock.cs index 9174e9a2a..31345e1e8 100644 --- a/src/OSPSuite.Core/Domain/Builder/PassiveTransportBuildingBlock.cs +++ b/src/OSPSuite.Core/Domain/Builder/PassiveTransportBuildingBlock.cs @@ -3,16 +3,9 @@ namespace OSPSuite.Core.Domain.Builder { /// - /// Collection of passiveTransportBuilders + /// Collection of passiveTransportBuilders /// - public interface IPassiveTransportBuildingBlock : IBuildingBlock - { - } - - /// - /// Collection of passiveTransportBuilders - /// - public class PassiveTransportBuildingBlock : BuildingBlock, IPassiveTransportBuildingBlock + public class PassiveTransportBuildingBlock : BuildingBlock { public PassiveTransportBuildingBlock() { diff --git a/src/OSPSuite.Core/Domain/Builder/ProcessBuilder.cs b/src/OSPSuite.Core/Domain/Builder/ProcessBuilder.cs index 83eec382d..e9074eec6 100644 --- a/src/OSPSuite.Core/Domain/Builder/ProcessBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/ProcessBuilder.cs @@ -16,22 +16,7 @@ public interface IContainsParameters : IObjectBase /// Base builder interface for all builder creating amount changing objects /// Contains all information used for every kind of amount change /// - public interface IProcessBuilder : IContainer, IUsingFormula, IContainsParameters, IBuilder - { - /// - /// If set to true, a parameter rate named ProcessRate will be generated in the simulation.Its formula - /// will be set to the rate of the created process. Default is false - /// - bool CreateProcessRateParameter { get; set; } - - bool ProcessRateParameterPersistable { get; set; } - } - - /// - /// Base builder interface for all builder creating amount changing objects - /// Contains all information used for every kind of amount change - /// - public abstract class ProcessBuilder : Container, IProcessBuilder + public abstract class ProcessBuilder : Container, IUsingFormula { private IFormula _formula; private bool _createProcessRateParameter; @@ -39,6 +24,10 @@ public abstract class ProcessBuilder : Container, IProcessBuilder public IDimension Dimension { get; set; } public IBuildingBlock BuildingBlock { get; set; } + /// + /// If set to true, a parameter rate named ProcessRate will be generated in the simulation.Its formula + /// will be set to the rate of the created process. Default is false + /// public bool CreateProcessRateParameter { get => _createProcessRateParameter; @@ -82,13 +71,12 @@ public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager clone { base.UpdatePropertiesFrom(source, cloneManager); - var srcProcessBuilder = source as IProcessBuilder; + var srcProcessBuilder = source as ProcessBuilder; if (srcProcessBuilder == null) return; Dimension = srcProcessBuilder.Dimension; CreateProcessRateParameter = srcProcessBuilder.CreateProcessRateParameter; ProcessRateParameterPersistable = srcProcessBuilder.ProcessRateParameterPersistable; } - } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/ProcessBuilderExtensions.cs b/src/OSPSuite.Core/Domain/Builder/ProcessBuilderExtensions.cs index 07863728f..9a6fe5fbd 100644 --- a/src/OSPSuite.Core/Domain/Builder/ProcessBuilderExtensions.cs +++ b/src/OSPSuite.Core/Domain/Builder/ProcessBuilderExtensions.cs @@ -4,7 +4,7 @@ namespace OSPSuite.Core.Domain.Builder { public static class ProcessBuilderExtensions { - public static TProcessBuilder WithKinetic(this TProcessBuilder processBuilder, IFormula formula) where TProcessBuilder : IProcessBuilder + public static TProcessBuilder WithKinetic(this TProcessBuilder processBuilder, IFormula formula) where TProcessBuilder : ProcessBuilder { processBuilder.Formula = formula; return processBuilder; diff --git a/src/OSPSuite.Core/Domain/Builder/ReactionBuilder.cs b/src/OSPSuite.Core/Domain/Builder/ReactionBuilder.cs index f2bf197d5..0376872f1 100644 --- a/src/OSPSuite.Core/Domain/Builder/ReactionBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/ReactionBuilder.cs @@ -1,67 +1,39 @@ using System.Collections.Generic; using OSPSuite.Assets; -using OSPSuite.Utility.Extensions; using OSPSuite.Core.Domain.Descriptors; using OSPSuite.Core.Domain.Services; +using OSPSuite.Utility.Extensions; namespace OSPSuite.Core.Domain.Builder { /// - /// Contains all Information needed to create a with the + /// Contains all Information needed to create a with the /// - public interface IReactionBuilder : IProcessBuilder + public class ReactionBuilder : ProcessBuilder, IBuilder { - IEnumerable Educts { get; } - IEnumerable Products { get; } - void AddEduct(IReactionPartnerBuilder educt); - void AddProduct(IReactionPartnerBuilder product); - void RemoveEduct(IReactionPartnerBuilder educt); - void RemoveProduct(IReactionPartnerBuilder product); - IEnumerable ModifierNames { get; } - void AddModifier(string modifierName); - void RemoveModifier(string modifierToRemove); - void ClearModifiers(); + private readonly List _educts; + private readonly List _products; + private readonly List _modifier; /// /// Criteria for containers where reaction should be created /// - DescriptorCriteria ContainerCriteria { set; get; } - - /// - /// Returns an educt partner for molecule or null if not found - /// - IReactionPartnerBuilder EductBy(string moleculeName); - - /// - /// Returns an product partner for molecule or null if not found - /// - IReactionPartnerBuilder ProductBy(string moleculeName); - } - - /// - /// Contains all Information needed to create a with the - /// - public class ReactionBuilder : ProcessBuilder, IReactionBuilder - { - private readonly List _educts; - private readonly List _products; - private readonly List _modifier; public DescriptorCriteria ContainerCriteria { get; set; } public ReactionBuilder() { - _educts = new List(); - _products = new List(); + _educts = new List(); + _products = new List(); _modifier = new List(); ContainerCriteria = new DescriptorCriteria(); Icon = IconNames.REACTION; ContainerType = ContainerType.Reaction; } - public IEnumerable Educts => _educts; - public IEnumerable Products => _products; + public IEnumerable Educts => _educts; + public IEnumerable Products => _products; - public void AddEduct(IReactionPartnerBuilder educt) + public void AddEduct(ReactionPartnerBuilder educt) { if (_educts.Contains(educt)) { @@ -72,7 +44,7 @@ public void AddEduct(IReactionPartnerBuilder educt) OnChanged(); } - public void AddProduct(IReactionPartnerBuilder product) + public void AddProduct(ReactionPartnerBuilder product) { if (_products.Contains(product)) { @@ -83,9 +55,9 @@ public void AddProduct(IReactionPartnerBuilder product) OnChanged(); } - public void RemoveEduct(IReactionPartnerBuilder educt) => _educts.Remove(educt); + public void RemoveEduct(ReactionPartnerBuilder educt) => _educts.Remove(educt); - public void RemoveProduct(IReactionPartnerBuilder product) => _products.Remove(product); + public void RemoveProduct(ReactionPartnerBuilder product) => _products.Remove(product); public IEnumerable ModifierNames => _modifier; @@ -95,6 +67,7 @@ public void AddModifier(string modifierName) { throw new NotUniqueNameException(modifierName, Name); } + _modifier.Add(modifierName); OnChanged(); } @@ -106,12 +79,18 @@ public void RemoveModifier(string modifierToRemove) public void ClearModifiers() => _modifier.Clear(); - public IReactionPartnerBuilder EductBy(string moleculeName) + /// + /// Returns an educt partner for molecule or null if not found + /// + public ReactionPartnerBuilder EductBy(string moleculeName) { return _educts.Find(x => string.Equals(x.MoleculeName, moleculeName)); } - public IReactionPartnerBuilder ProductBy(string moleculeName) + /// + /// Returns an product partner for molecule or null if not found + /// + public ReactionPartnerBuilder ProductBy(string moleculeName) { return _products.Find(x => string.Equals(x.MoleculeName, moleculeName)); } @@ -120,7 +99,7 @@ public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager clone { base.UpdatePropertiesFrom(source, cloneManager); - var srcReactionBuilder = source as IReactionBuilder; + var srcReactionBuilder = source as ReactionBuilder; if (srcReactionBuilder == null) return; srcReactionBuilder.Educts.Each(e => AddEduct(e.Clone())); diff --git a/src/OSPSuite.Core/Domain/Builder/ReactionBuildingBlock.cs b/src/OSPSuite.Core/Domain/Builder/ReactionBuildingBlock.cs index 6bfc1fbc8..e0c8e849e 100644 --- a/src/OSPSuite.Core/Domain/Builder/ReactionBuildingBlock.cs +++ b/src/OSPSuite.Core/Domain/Builder/ReactionBuildingBlock.cs @@ -2,14 +2,7 @@ namespace OSPSuite.Core.Domain.Builder { - /// - /// a Collection of ReactionBuilder - /// - public interface IReactionBuildingBlock : IBuildingBlock - { - } - - public class ReactionBuildingBlock : BuildingBlock, IReactionBuildingBlock + public class ReactionBuildingBlock : BuildingBlock { public ReactionBuildingBlock() { diff --git a/src/OSPSuite.Core/Domain/Builder/ReactionPartnerBuilder.cs b/src/OSPSuite.Core/Domain/Builder/ReactionPartnerBuilder.cs index e5ff6b2ef..5add6666e 100644 --- a/src/OSPSuite.Core/Domain/Builder/ReactionPartnerBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/ReactionPartnerBuilder.cs @@ -4,24 +4,9 @@ namespace OSPSuite.Core.Domain.Builder { /// - /// Contains information necessary for the to create a + /// Contains information necessary for the to create a /// - public interface IReactionPartnerBuilder : IWithDimension - { - string MoleculeName { get; set; } - double StoichiometricCoefficient { get; set; } - - /// - /// Return clone of reaction partner - /// - /// - IReactionPartnerBuilder Clone(); - } - - /// - /// Contains information necessary for the to create a - /// - public class ReactionPartnerBuilder : IReactionPartnerBuilder + public class ReactionPartnerBuilder : IWithDimension { public IDimension Dimension { get; set; } public string MoleculeName { get; set; } @@ -38,7 +23,7 @@ public ReactionPartnerBuilder(string moleculeName, double stoichiometricCoeffici StoichiometricCoefficient = stoichiometricCoefficient; } - public IReactionPartnerBuilder Clone() + public ReactionPartnerBuilder Clone() { return new ReactionPartnerBuilder(MoleculeName, StoichiometricCoefficient); } diff --git a/src/OSPSuite.Core/Domain/Builder/SimulationBuilder.cs b/src/OSPSuite.Core/Domain/Builder/SimulationBuilder.cs index ab3fef0ec..0ae576fa8 100644 --- a/src/OSPSuite.Core/Domain/Builder/SimulationBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/SimulationBuilder.cs @@ -9,11 +9,11 @@ public class SimulationBuilder { private readonly SimulationConfiguration _simulationConfiguration; - private readonly ObjectBaseCache _passiveTransports = new ObjectBaseCache(); - private readonly ObjectBaseCache _reactions = new ObjectBaseCache(); - private readonly ObjectBaseCache _eventGroups = new ObjectBaseCache(); - private readonly ObjectBaseCache _observers = new ObjectBaseCache(); - private readonly ObjectBaseCache _molecules = new ObjectBaseCache(); + private readonly ObjectBaseCache _passiveTransports = new ObjectBaseCache(); + private readonly ObjectBaseCache _reactions = new ObjectBaseCache(); + private readonly ObjectBaseCache _eventGroups = new ObjectBaseCache(); + private readonly ObjectBaseCache _observers = new ObjectBaseCache(); + private readonly ObjectBaseCache _molecules = new ObjectBaseCache(); private readonly StartValueCache _parameterStartValues = new StartValueCache(); private readonly StartValueCache _moleculeStartValues = new StartValueCache(); @@ -41,7 +41,7 @@ private IEnumerable allBuilder(Func> propAccess) private IEnumerable allStartValueBuilder(Func> propAccess) where T : IStartValue => _simulationConfiguration.ModuleConfigurations.Select(propAccess).Where(x => x != null).SelectMany(x => x); - internal IEnumerable AllPresentMolecules() + internal IEnumerable AllPresentMolecules() { var moleculeNames = _moleculeStartValues .Where(moleculeStartValue => moleculeStartValue.IsPresent) @@ -62,12 +62,12 @@ internal IEnumerable AllPresentMoleculeValuesFor(IEnumerable .Where(msv => msv.IsPresent); } - internal IEnumerable AllFloatingMolecules() => Molecules.Where(x => x.IsFloating); + internal IEnumerable AllFloatingMolecules() => Molecules.Where(x => x.IsFloating); internal IReadOnlyList AllPresentMoleculeNames() => AllPresentMoleculeNames(x => true); //Uses toArray so that the marshaling to R works out of the box (array vs list) - internal IReadOnlyList AllPresentMoleculeNames(Func query) => + internal IReadOnlyList AllPresentMoleculeNames(Func query) => AllPresentMolecules().Where(query).Select(x => x.Name).ToArray(); internal IReadOnlyList AllPresentFloatingMoleculeNames() => @@ -95,15 +95,15 @@ private void performMerge() _moleculeStartValues.AddRange(allStartValueBuilder(x => x.SelectedMoleculeStartValues)); } - internal IReadOnlyList SpatialStructures => all(x => x.SpatialStructure); - internal IReadOnlyCollection PassiveTransports => _passiveTransports; - internal IReadOnlyCollection Reactions => _reactions; - internal IReadOnlyCollection EventGroups => _eventGroups; - internal IReadOnlyCollection Observers => _observers; - internal IReadOnlyCollection Molecules => _molecules; + internal IReadOnlyList SpatialStructures => all(x => x.SpatialStructure); + internal IReadOnlyCollection PassiveTransports => _passiveTransports; + internal IReadOnlyCollection Reactions => _reactions; + internal IReadOnlyCollection EventGroups => _eventGroups; + internal IReadOnlyCollection Observers => _observers; + internal IReadOnlyCollection Molecules => _molecules; internal IReadOnlyCollection ParameterStartValues => _parameterStartValues; internal IReadOnlyCollection MoleculeStartValues => _moleculeStartValues; - internal IMoleculeBuilder MoleculeByName(string name) => _molecules[name]; + internal MoleculeBuilder MoleculeByName(string name) => _molecules[name]; } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/SimulationConfiguration.cs b/src/OSPSuite.Core/Domain/Builder/SimulationConfiguration.cs index 405ad5e99..4fdbe5866 100644 --- a/src/OSPSuite.Core/Domain/Builder/SimulationConfiguration.cs +++ b/src/OSPSuite.Core/Domain/Builder/SimulationConfiguration.cs @@ -10,7 +10,7 @@ public class SimulationConfiguration : IVisitable { private readonly List _expressionProfiles = new List(); private readonly List _moduleConfigurations = new List(); - private readonly List _allCalculationMethods = new List(); + private readonly List _allCalculationMethods = new List(); public SimModelExportMode SimModelExportMode { get; set; } = SimModelExportMode.Full; public bool ShouldValidate { get; set; } = true; @@ -21,14 +21,14 @@ public class SimulationConfiguration : IVisitable public virtual SimulationSettings SimulationSettings { get; set; } public virtual IReadOnlyList ExpressionProfiles => _expressionProfiles; - public virtual IReadOnlyList AllCalculationMethods => _allCalculationMethods; + public virtual IReadOnlyList AllCalculationMethods => _allCalculationMethods; public virtual IReadOnlyList ModuleConfigurations => _moduleConfigurations; public virtual void AddExpressionProfile(ExpressionProfileBuildingBlock expressionProfile) => _expressionProfiles.Add(expressionProfile); public virtual void AddModuleConfiguration(ModuleConfiguration moduleConfiguration) => _moduleConfigurations.Add(moduleConfiguration); - public virtual void AddCalculationMethod(ICoreCalculationMethod calculationMethodToAdd) => _allCalculationMethods.Add(calculationMethodToAdd); + public virtual void AddCalculationMethod(CoreCalculationMethod calculationMethodToAdd) => _allCalculationMethods.Add(calculationMethodToAdd); public IReadOnlyList All() where T : class, IBuildingBlock { diff --git a/src/OSPSuite.Core/Domain/Builder/SpatialStructure.cs b/src/OSPSuite.Core/Domain/Builder/SpatialStructure.cs index 7e6a3abd2..a5fa10fdc 100644 --- a/src/OSPSuite.Core/Domain/Builder/SpatialStructure.cs +++ b/src/OSPSuite.Core/Domain/Builder/SpatialStructure.cs @@ -9,40 +9,9 @@ namespace OSPSuite.Core.Domain.Builder { - public interface ISpatialStructure : IBuildingBlock, IEnumerable + public class SpatialStructure : BuildingBlock, IEnumerable { - /// - /// Container-structure with subcontainers and parameters (e.g. one container but for special modeling situation like - /// mother/featus model, 2 root containers would be used) - /// - IReadOnlyList TopContainers { get; } - - /// - /// Add container in the top hierarchy level of the spatial structure - /// - void AddTopContainer(IContainer container); - - /// - /// Remove container from the top hierarchy level of the spatial structure - /// - void RemoveTopContainer(IContainer container); - - /// - /// All neighborhoods defined for the spatial structure - /// - IReadOnlyList Neighborhoods { get; } - - /// - /// Container which contains all NeighborhoodBuilder - /// - IContainer NeighborhoodsContainer { get; set; } - - /// - /// Add neighborhood to spatial structure - /// - void AddNeighborhood(NeighborhoodBuilder neighborhoodBuilder); - - void RemoveNeighborhood(NeighborhoodBuilder neighborhoodBuilder); + private readonly List _allTopContainers; /// /// Molecule-dependent properties, which must be defined only @@ -51,25 +20,11 @@ public interface ISpatialStructure : IBuildingBlock, IEnumerable /// /// Examples: K_rbc (part. coeff. plasma to red blood cells), B2P, ... /// - IContainer GlobalMoleculeDependentProperties { get; set; } - - /// - /// Returns all physical containers starting at "Root" - /// - IEnumerable PhysicalContainers { get; } - - IReadOnlyList AllNeighborhoodBuildersConnectedWith(ObjectPath containerPath); + public IContainer GlobalMoleculeDependentProperties { get; set; } /// - /// Ensures that all references to containers are resolved. + /// Container which contains all NeighborhoodBuilder /// - void ResolveReferencesInNeighborhoods(); - } - - public class SpatialStructure : BuildingBlock, ISpatialStructure - { - private readonly List _allTopContainers; - public IContainer GlobalMoleculeDependentProperties { get; set; } public IContainer NeighborhoodsContainer { get; set; } public SpatialStructure() @@ -78,13 +33,19 @@ public SpatialStructure() _allTopContainers = new List(); } + /// + /// Container-structure with subcontainers and parameters (e.g. one container but for special modeling situation like + /// mother/featus model, 2 root containers would be used) + /// public IReadOnlyList TopContainers => _allTopContainers; - public void Add(IContainer topContainer) => AddTopContainer(topContainer); public void Remove(IContainer topContainer) => RemoveTopContainer(topContainer); + /// + /// Add container in the top hierarchy level of the spatial structure + /// public void AddTopContainer(IContainer container) { // Ensure that parent Container is null , may occur when adding already existing Container as Top Container (Load/Copy&Paste) @@ -92,11 +53,17 @@ public void AddTopContainer(IContainer container) _allTopContainers.Add(container); } + /// + /// Remove container from the top hierarchy level of the spatial structure + /// public void RemoveTopContainer(IContainer container) { _allTopContainers.Remove(container); } + /// + /// All neighborhoods defined for the spatial structure + /// public IReadOnlyList Neighborhoods { get @@ -108,10 +75,17 @@ public IReadOnlyList Neighborhoods } } + /// + /// Add neighborhood to spatial structure + /// public void AddNeighborhood(NeighborhoodBuilder neighborhoodBuilder) => NeighborhoodsContainer.Add(neighborhoodBuilder); public void RemoveNeighborhood(NeighborhoodBuilder neighborhoodBuilder) => NeighborhoodsContainer.RemoveChild(neighborhoodBuilder); + /// + /// Returns all physical containers starting at "Root" + /// + public IEnumerable PhysicalContainers { get @@ -131,6 +105,9 @@ from physicalContainer in root.GetAllChildren(c => c.Mode == Contain public IReadOnlyList AllNeighborhoodBuildersConnectedWith(ObjectPath containerPath) => Neighborhoods.Where(x => x.IsConnectedTo(containerPath)).ToList(); + /// + /// Ensures that all references to containers are resolved. + /// public void ResolveReferencesInNeighborhoods() { Neighborhoods.Each(x => x.ResolveReference(this)); @@ -140,7 +117,7 @@ public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager clone { base.UpdatePropertiesFrom(source, cloneManager); - var sourceSpatialStructure = source as ISpatialStructure; + var sourceSpatialStructure = source as SpatialStructure; if (sourceSpatialStructure == null) return; sourceSpatialStructure.TopContainers.Each(c => AddTopContainer(cloneManager.Clone(c))); @@ -177,7 +154,5 @@ IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } - - } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/SpatialStructureFactory.cs b/src/OSPSuite.Core/Domain/Builder/SpatialStructureFactory.cs index 0bff2c87e..1844f1de8 100644 --- a/src/OSPSuite.Core/Domain/Builder/SpatialStructureFactory.cs +++ b/src/OSPSuite.Core/Domain/Builder/SpatialStructureFactory.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Domain.Builder { public interface ISpatialStructureFactory { - ISpatialStructure Create(); + SpatialStructure Create(); } public class SpatialStructureFactory : ISpatialStructureFactory @@ -14,9 +14,9 @@ public SpatialStructureFactory(IObjectBaseFactory objectBaseFactory) _objectBaseFactory = objectBaseFactory; } - public virtual ISpatialStructure Create() + public virtual SpatialStructure Create() { - ISpatialStructure spatialStructure = CreateSpatialStructure(); + var spatialStructure = CreateSpatialStructure(); var neighborhoods = CreateNeighborhoods() .WithName(Constants.NEIGHBORHOODS) .WithMode(ContainerMode.Logical); @@ -42,9 +42,9 @@ protected virtual IContainer CreateGlobalMoleculeDependentProperties() return _objectBaseFactory.Create(); } - protected virtual ISpatialStructure CreateSpatialStructure() + protected virtual SpatialStructure CreateSpatialStructure() { - return _objectBaseFactory.Create(); + return _objectBaseFactory.Create(); } } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/TransportBuilder.cs b/src/OSPSuite.Core/Domain/Builder/TransportBuilder.cs index 656637b58..43a71f1a4 100644 --- a/src/OSPSuite.Core/Domain/Builder/TransportBuilder.cs +++ b/src/OSPSuite.Core/Domain/Builder/TransportBuilder.cs @@ -3,36 +3,7 @@ namespace OSPSuite.Core.Domain.Builder { - public interface ITransportBuilder : IProcessBuilder, IMoleculeDependentBuilder - { - /// - /// Gets or sets the source criteria to match for the source container of this transport. - /// - /// The source criteria. - DescriptorCriteria SourceCriteria { get; set; } - - /// - /// Gets or sets the target criteria to match for the target container of this transport. - /// - /// The target criteria. - DescriptorCriteria TargetCriteria { get; set; } - - /// - /// Gets or sets the type of the transport. - /// - /// - /// Just informational use - /// - /// The type of the transport. - TransportType TransportType { get; set; } - - /// - /// Checks if the molecule should be transported - depending on the value of ForAll, - /// - bool TransportsMolecule(string moleculeName); - } - - public class TransportBuilder : ProcessBuilder, ITransportBuilder + public class TransportBuilder : ProcessBuilder, IMoleculeDependentBuilder { /// /// Gets or sets the source criteria to match for the source container of this transport. @@ -55,41 +26,36 @@ public class TransportBuilder : ProcessBuilder, ITransportBuilder /// The type of the transport. public TransportType TransportType { get; set; } - private readonly MoleculeList _moleculeList; - public TransportBuilder() { SourceCriteria = new DescriptorCriteria(); TargetCriteria = new DescriptorCriteria(); - _moleculeList = new MoleculeList {ForAll = true}; - } - - public MoleculeList MoleculeList - { - get { return _moleculeList; } + MoleculeList = new MoleculeList {ForAll = true}; } + public MoleculeList MoleculeList { get; } + public bool ForAll { - get { return MoleculeList.ForAll; } - set { MoleculeList.ForAll = value; } + get => MoleculeList.ForAll; + set => MoleculeList.ForAll = value; } - public bool TransportsMolecule(string moleculeName) - { - return _moleculeList.Uses(moleculeName); - } + /// + /// Checks if the molecule should be transported - depending on the value of ForAll, + /// + public bool TransportsMolecule(string moleculeName) => MoleculeList.Uses(moleculeName); public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager cloneManager) { base.UpdatePropertiesFrom(source, cloneManager); - var srcTransportBuilder = source as ITransportBuilder; + var srcTransportBuilder = source as TransportBuilder; if (srcTransportBuilder == null) return; SourceCriteria = srcTransportBuilder.SourceCriteria.Clone(); TargetCriteria = srcTransportBuilder.TargetCriteria.Clone(); TransportType = srcTransportBuilder.TransportType; - _moleculeList.UpdatePropertiesFrom(srcTransportBuilder.MoleculeList, cloneManager); + MoleculeList.UpdatePropertiesFrom(srcTransportBuilder.MoleculeList, cloneManager); } } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Builder/TransporterMoleculeContainer.cs b/src/OSPSuite.Core/Domain/Builder/TransporterMoleculeContainer.cs index 0fd20121b..5f20d3cde 100644 --- a/src/OSPSuite.Core/Domain/Builder/TransporterMoleculeContainer.cs +++ b/src/OSPSuite.Core/Domain/Builder/TransporterMoleculeContainer.cs @@ -13,7 +13,7 @@ public class TransporterMoleculeContainer : Container, IContainsParameters /// /// Specific localized realizations of the transport process /// - public virtual IEnumerable ActiveTransportRealizations => GetChildren(); + public virtual IEnumerable ActiveTransportRealizations => GetChildren(); public virtual IEnumerable Parameters => GetChildren(); @@ -24,12 +24,12 @@ public class TransporterMoleculeContainer : Container, IContainsParameters /// /// Add a new localized realization of the transport process /// - public virtual void AddActiveTransportRealization(ITransportBuilder activeTransportBuilder) => Add(activeTransportBuilder); + public virtual void AddActiveTransportRealization(TransportBuilder activeTransportBuilder) => Add(activeTransportBuilder); /// /// Remove a localized realization of the transport process /// - public virtual void RemoveActiveTransportRealization(ITransportBuilder activeTransportBuilderToRemove) + public virtual void RemoveActiveTransportRealization(TransportBuilder activeTransportBuilderToRemove) { RemoveChild(activeTransportBuilderToRemove); } diff --git a/src/OSPSuite.Core/Domain/Event.cs b/src/OSPSuite.Core/Domain/Event.cs index 269a76a3c..6cb360440 100644 --- a/src/OSPSuite.Core/Domain/Event.cs +++ b/src/OSPSuite.Core/Domain/Event.cs @@ -8,35 +8,27 @@ namespace OSPSuite.Core.Domain /// /// Defines a single event in model. The event will fire if its IfCondition is fulfilled /// - public interface IEvent : IUsingFormula, IContainer + public class Event : Container, IUsingFormula { - IEnumerable Assignments { get; } - - void AddAssignment(IEventAssignment assignment); + public IDimension Dimension { get; set; } + public IFormula Formula { get; set; } /// /// If true, event will fire only one time (once the IfCondition-formula is fulfilled) /// /// If false (default), event will fire every time its IfCondition-formula is fulfilled /// - bool OneTime { get; set; } - } - - public class Event : Container, IEvent - { - public IDimension Dimension { get; set; } - public IFormula Formula { get; set; } public bool OneTime { get; set; } - public IEnumerable Assignments => GetChildren(); + public IEnumerable Assignments => GetChildren(); - public void AddAssignment(IEventAssignment assignment) => Add(assignment); + public void AddAssignment(EventAssignment assignment) => Add(assignment); public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager cloneManager) { base.UpdatePropertiesFrom(source, cloneManager); - var sourceEvent = source as IEvent; + var sourceEvent = source as Event; if (sourceEvent == null) return; Dimension = sourceEvent.Dimension; diff --git a/src/OSPSuite.Core/Domain/EventAssignment.cs b/src/OSPSuite.Core/Domain/EventAssignment.cs index c84174d16..7203afbf0 100644 --- a/src/OSPSuite.Core/Domain/EventAssignment.cs +++ b/src/OSPSuite.Core/Domain/EventAssignment.cs @@ -9,23 +9,14 @@ namespace OSPSuite.Core.Domain /// /// Defines new formula for a using formula object for any event in model /// - public interface IEventAssignment : IAssignment + public class EventAssignment : Entity, IAssignment { - /// - /// Reference to the model entity, whose formula will be changed when event is fired - /// - IUsingFormula ChangedEntity { get; } + public IDimension Dimension { get; set; } + public IFormula Formula { get; set; } /// - /// Resolves object path in model + /// Reference to the model entity, whose formula will be changed when event is fired /// - void ResolveChangedEntity(); - } - - public class EventAssignment : Entity, IEventAssignment - { - public IDimension Dimension { get; set; } - public IFormula Formula { get; set; } public IUsingFormula ChangedEntity { get; set; } /// @@ -40,6 +31,9 @@ public class EventAssignment : Entity, IEventAssignment /// public bool UseAsValue { get; set; } + /// + /// Resolves object path in model + /// public void ResolveChangedEntity() { if (ObjectPath == null) @@ -51,7 +45,7 @@ public void ResolveChangedEntity() public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager cloneManager) { base.UpdatePropertiesFrom(source, cloneManager); - var sourceEventAssignment = source as IEventAssignment; + var sourceEventAssignment = source as EventAssignment; if (sourceEventAssignment == null) return; UseAsValue = sourceEventAssignment.UseAsValue; ObjectPath = sourceEventAssignment.ObjectPath.Clone(); diff --git a/src/OSPSuite.Core/Domain/EventGroup.cs b/src/OSPSuite.Core/Domain/EventGroup.cs index 4d5434eae..f26934437 100644 --- a/src/OSPSuite.Core/Domain/EventGroup.cs +++ b/src/OSPSuite.Core/Domain/EventGroup.cs @@ -4,32 +4,25 @@ namespace OSPSuite.Core.Domain { /// - /// Group of related events in model + /// Group of related events in model /// - public interface IEventGroup : IContainer + public class EventGroup : Container { /// - /// List of (single) events of the group + /// Type of the event. Typically this is the type of the application for an event group application + /// otherwise simply /// - IEnumerable Events { get; } + public string EventGroupType { get; set; } /// - /// Type of the event. Typically this is the type of the application for an event group application - /// otherwise simply + /// List of (single) events of the group /// - string EventGroupType { get; set; } - } - - public class EventGroup : Container, IEventGroup - { - public string EventGroupType { get; set; } - - public IEnumerable Events => GetChildren(); + public IEnumerable Events => GetChildren(); public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager cloneManager) { base.UpdatePropertiesFrom(source, cloneManager); - var sourceEventGroup = source as IEventGroup; + var sourceEventGroup = source as EventGroup; if (sourceEventGroup == null) return; EventGroupType = sourceEventGroup.EventGroupType; } diff --git a/src/OSPSuite.Core/Domain/IWith.cs b/src/OSPSuite.Core/Domain/IWith.cs index bad8a735d..d1717a821 100644 --- a/src/OSPSuite.Core/Domain/IWith.cs +++ b/src/OSPSuite.Core/Domain/IWith.cs @@ -92,9 +92,9 @@ public interface IMolWeightFinder /// found for /// the given , returns null. /// We use the following logic: - /// For a a MolWeight parameter will be searched directly in the global container named + /// For a a MolWeight parameter will be searched directly in the global container named /// after the molecule. - /// For all other quantities (e.g. , ) a MolWeight parameter will be + /// For all other quantities (e.g. , ) a MolWeight parameter will be /// searched in the global container named after the parent. /// /// Quantity for which the molweight parameter should be retrieved diff --git a/src/OSPSuite.Core/Domain/Mappers/EventAssignmentBuilderToEventAssignmentMapper.cs b/src/OSPSuite.Core/Domain/Mappers/EventAssignmentBuilderToEventAssignmentMapper.cs index 7651360f0..d95aa7135 100644 --- a/src/OSPSuite.Core/Domain/Mappers/EventAssignmentBuilderToEventAssignmentMapper.cs +++ b/src/OSPSuite.Core/Domain/Mappers/EventAssignmentBuilderToEventAssignmentMapper.cs @@ -7,7 +7,7 @@ namespace OSPSuite.Core.Domain.Mappers /// /// Maps one event assignment from building block into model /// - internal interface IEventAssignmentBuilderToEventAssignmentMapper : IBuilderMapper> + internal interface IEventAssignmentBuilderToEventAssignmentMapper : IBuilderMapper> { } @@ -22,17 +22,17 @@ public EventAssignmentBuilderToEventAssignmentMapper(IObjectBaseFactory objectBa _formulaMapper = formulaMapper; } - public IReadOnlyList MapFrom(IEventAssignmentBuilder assignmentBuilder, SimulationBuilder simulationBuilder) + public IReadOnlyList MapFrom(EventAssignmentBuilder assignmentBuilder, SimulationBuilder simulationBuilder) { if (!isForAllFloating(assignmentBuilder)) - return new[] {createAssignment(assignmentBuilder, simulationBuilder) }; + return new[] {createAssignment(assignmentBuilder, simulationBuilder)}; return simulationBuilder.AllFloatingMolecules() .Select(x => createMoleculeAssignment(x, assignmentBuilder, simulationBuilder)) .ToList(); } - private IEventAssignment createMoleculeAssignment(IMoleculeBuilder moleculeBuilder, IEventAssignmentBuilder assignmentBuilder, SimulationBuilder simulationBuilder) + private EventAssignment createMoleculeAssignment(MoleculeBuilder moleculeBuilder, EventAssignmentBuilder assignmentBuilder, SimulationBuilder simulationBuilder) { //We change the original name to ensure unicity in the container. //Assignment are named programatically and not by the user so there should not be any conflict. @@ -42,9 +42,9 @@ private IEventAssignment createMoleculeAssignment(IMoleculeBuilder moleculeBuild return assignment; } - private IEventAssignment createAssignment(IEventAssignmentBuilder assignmentBuilder, SimulationBuilder simulationBuilder, string name = null) + private EventAssignment createAssignment(EventAssignmentBuilder assignmentBuilder, SimulationBuilder simulationBuilder, string name = null) { - var assignment = _objectBaseFactory.Create() + var assignment = _objectBaseFactory.Create() .WithName(name ?? assignmentBuilder.Name) .WithDimension(assignmentBuilder.Dimension) .WithFormula(_formulaMapper.MapFrom(assignmentBuilder.Formula, simulationBuilder)); @@ -57,7 +57,7 @@ private IEventAssignment createAssignment(IEventAssignmentBuilder assignmentBuil return assignment; } - private bool isForAllFloating(IEventAssignmentBuilder assignmentBuilder) => + private bool isForAllFloating(EventAssignmentBuilder assignmentBuilder) => assignmentBuilder.ObjectPath.Contains(ObjectPathKeywords.ALL_FLOATING_MOLECULES); } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Mappers/EventBuilderToEventMapper.cs b/src/OSPSuite.Core/Domain/Mappers/EventBuilderToEventMapper.cs index c8a91729a..0a3a989a6 100644 --- a/src/OSPSuite.Core/Domain/Mappers/EventBuilderToEventMapper.cs +++ b/src/OSPSuite.Core/Domain/Mappers/EventBuilderToEventMapper.cs @@ -7,7 +7,7 @@ namespace OSPSuite.Core.Domain.Mappers /// /// Maps event builder object to an model event /// - internal interface IEventBuilderToEventMapper : IBuilderMapper + internal interface IEventBuilderToEventMapper : IBuilderMapper { } @@ -29,9 +29,9 @@ public EventBuilderToEventMapper(IObjectBaseFactory objectBaseFactory, _assignmentMapper = assignmentMapper; } - public IEvent MapFrom(IEventBuilder eventBuilder, SimulationBuilder simulationBuilder) + public Event MapFrom(EventBuilder eventBuilder, SimulationBuilder simulationBuilder) { - var modelEvent = _objectBaseFactory.Create() + var modelEvent = _objectBaseFactory.Create() .WithName(eventBuilder.Name) .WithDimension(eventBuilder.Dimension) .WithDescription(eventBuilder.Description) diff --git a/src/OSPSuite.Core/Domain/Mappers/EventGroupBuilderToEventGroupMapper.cs b/src/OSPSuite.Core/Domain/Mappers/EventGroupBuilderToEventGroupMapper.cs index e483c34a1..d0a0fa6ca 100644 --- a/src/OSPSuite.Core/Domain/Mappers/EventGroupBuilderToEventGroupMapper.cs +++ b/src/OSPSuite.Core/Domain/Mappers/EventGroupBuilderToEventGroupMapper.cs @@ -1,11 +1,10 @@ -using System.Linq; -using OSPSuite.Core.Domain.Builder; +using OSPSuite.Core.Domain.Builder; using OSPSuite.Core.Domain.Services; using OSPSuite.Utility.Extensions; namespace OSPSuite.Core.Domain.Mappers { - internal interface IEventGroupBuilderToEventGroupMapper : IBuilderMapper + internal interface IEventGroupBuilderToEventGroupMapper : IBuilderMapper { } @@ -40,9 +39,9 @@ public EventGroupBuilderToEventGroupMapper( _parameterFactory = parameterFactory; } - public IEventGroup MapFrom(IEventGroupBuilder eventGroupBuilder, SimulationBuilder simulationBuilder) + public EventGroup MapFrom(EventGroupBuilder eventGroupBuilder, SimulationBuilder simulationBuilder) { - var eventGroup = _objectBaseFactory.Create(); + var eventGroup = _objectBaseFactory.Create(); simulationBuilder.AddBuilderReference(eventGroup, eventGroupBuilder); eventGroup.UpdatePropertiesFrom(eventGroupBuilder, _cloneManagerForModel); eventGroup.EventGroupType = eventGroupBuilder.EventGroupType; @@ -50,7 +49,7 @@ public IEventGroup MapFrom(IEventGroupBuilder eventGroupBuilder, SimulationBuild return eventGroup; } - private void createEventGroupStructure(IEventGroupBuilder eventGroupBuilder, IEventGroup eventGroup, SimulationBuilder simulationBuilder) + private void createEventGroupStructure(EventGroupBuilder eventGroupBuilder, EventGroup eventGroup, SimulationBuilder simulationBuilder) { foreach (var childBuilder in eventGroupBuilder.Children) { @@ -58,17 +57,17 @@ private void createEventGroupStructure(IEventGroupBuilder eventGroupBuilder, IEv if (doesNotBelongIntoModel(childBuilder)) continue; - if (childBuilder.IsAnImplementationOf()) + if (childBuilder.IsAnImplementationOf()) { - var childEventGroup = MapFrom(childBuilder.DowncastTo(), simulationBuilder); + var childEventGroup = MapFrom(childBuilder.DowncastTo(), simulationBuilder); eventGroup.Add(childEventGroup); - if (childBuilder.IsAnImplementationOf()) - createApplication(childBuilder.DowncastTo(), childEventGroup, simulationBuilder); + if (childBuilder.IsAnImplementationOf()) + createApplication(childBuilder.DowncastTo(), childEventGroup, simulationBuilder); } - else if (childBuilder.IsAnImplementationOf()) - eventGroup.Add(_eventMapper.MapFrom(childBuilder.DowncastTo(), simulationBuilder)); + else if (childBuilder.IsAnImplementationOf()) + eventGroup.Add(_eventMapper.MapFrom(childBuilder.DowncastTo(), simulationBuilder)); else if (childBuilder.IsAnImplementationOf()) eventGroup.Add(_parameterMapper.MapFrom(childBuilder.DowncastTo(), simulationBuilder)); @@ -83,10 +82,10 @@ private void createEventGroupStructure(IEventGroupBuilder eventGroupBuilder, IEv private static bool doesNotBelongIntoModel(IEntity childBuilder) { - return childBuilder.IsAnImplementationOf() || childBuilder.IsAnImplementationOf(); + return childBuilder.IsAnImplementationOf() || childBuilder.IsAnImplementationOf(); } - private void createApplication(IApplicationBuilder applicationBuilder, IEventGroup eventGroup, SimulationBuilder simulationBuilder) + private void createApplication(ApplicationBuilder applicationBuilder, EventGroup eventGroup, SimulationBuilder simulationBuilder) { //---- add molecule amounts foreach (var appMolecule in applicationBuilder.Molecules) diff --git a/src/OSPSuite.Core/Domain/Mappers/MoleculeBuilderToMoleculeAmountMapper.cs b/src/OSPSuite.Core/Domain/Mappers/MoleculeBuilderToMoleculeAmountMapper.cs index 1eb411a28..cf84810c4 100644 --- a/src/OSPSuite.Core/Domain/Mappers/MoleculeBuilderToMoleculeAmountMapper.cs +++ b/src/OSPSuite.Core/Domain/Mappers/MoleculeBuilderToMoleculeAmountMapper.cs @@ -29,7 +29,7 @@ internal interface IMoleculeBuilderToMoleculeAmountMapper /// /// Simulation builder /// - IMoleculeAmount MapFrom(IMoleculeBuilder moleculeBuilder, IContainer targetContainer, SimulationBuilder simulationBuilder); + MoleculeAmount MapFrom(MoleculeBuilder moleculeBuilder, IContainer targetContainer, SimulationBuilder simulationBuilder); } internal class MoleculeBuilderToMoleculeAmountMapper : IMoleculeBuilderToMoleculeAmountMapper @@ -57,10 +57,10 @@ public MoleculeBuilderToMoleculeAmountMapper(IObjectBaseFactory objectBaseFactor _amountDimension = dimensionFactory.Dimension(Constants.Dimension.MOLAR_AMOUNT); } - public IMoleculeAmount MapFrom(IMoleculeBuilder moleculeBuilder, IContainer targetContainer, SimulationBuilder simulationBuilder) + public MoleculeAmount MapFrom(MoleculeBuilder moleculeBuilder, IContainer targetContainer, SimulationBuilder simulationBuilder) { //molecule amount always in amount - var moleculeAmount = _objectBaseFactory.Create() + var moleculeAmount = _objectBaseFactory.Create() .WithName(moleculeBuilder.Name) .WithDescription(moleculeBuilder.Description) .WithContainerType(ContainerType.Molecule) @@ -86,7 +86,7 @@ public IMoleculeAmount MapFrom(IMoleculeBuilder moleculeBuilder, IContainer targ return moleculeAmount; } - private void createMoleculeAmountDefaultFormula(IMoleculeBuilder moleculeBuilder, SimulationBuilder simulationBuilder, IMoleculeAmount moleculeAmount) + private void createMoleculeAmountDefaultFormula(MoleculeBuilder moleculeBuilder, SimulationBuilder simulationBuilder, MoleculeAmount moleculeAmount) { //set start value formula to the default. If user has specified //a new start value in MoleculesStartValueCollection-BB, default formula diff --git a/src/OSPSuite.Core/Domain/Mappers/ObserverBuilderToObserverMapper.cs b/src/OSPSuite.Core/Domain/Mappers/ObserverBuilderToObserverMapper.cs index cb9075fd4..1fe183470 100644 --- a/src/OSPSuite.Core/Domain/Mappers/ObserverBuilderToObserverMapper.cs +++ b/src/OSPSuite.Core/Domain/Mappers/ObserverBuilderToObserverMapper.cs @@ -5,7 +5,7 @@ namespace OSPSuite.Core.Domain.Mappers /// /// Maps Observer Builder object to its counterpart in the simulation /// - public interface IObserverBuilderToObserverMapper : IBuilderMapper + public interface IObserverBuilderToObserverMapper : IBuilderMapper { } @@ -20,9 +20,9 @@ public ObserverBuilderToObserverMapper(IObjectBaseFactory objectBaseFactory, IFo _formulaMapper = formulaMapper; } - public IObserver MapFrom(IObserverBuilder observerBuilder, SimulationBuilder simulationBuilder) + public Observer MapFrom(ObserverBuilder observerBuilder, SimulationBuilder simulationBuilder) { - var observer = _objectBaseFactory.Create() + var observer = _objectBaseFactory.Create() .WithName(observerBuilder.Name) .WithIcon(observerBuilder.Icon) .WithDescription(observerBuilder.Description) diff --git a/src/OSPSuite.Core/Domain/Mappers/ProcessRateParameterCreator.cs b/src/OSPSuite.Core/Domain/Mappers/ProcessRateParameterCreator.cs index 5d549ed32..9ab4b812a 100644 --- a/src/OSPSuite.Core/Domain/Mappers/ProcessRateParameterCreator.cs +++ b/src/OSPSuite.Core/Domain/Mappers/ProcessRateParameterCreator.cs @@ -6,7 +6,7 @@ namespace OSPSuite.Core.Domain.Mappers { internal interface IProcessRateParameterCreator { - IParameter CreateProcessRateParameterFor(IProcessBuilder processBuilder, SimulationBuilder simulationBuilder); + IParameter CreateProcessRateParameterFor(ProcessBuilder processBuilder, SimulationBuilder simulationBuilder); } internal class ProcessRateParameterCreator : IProcessRateParameterCreator @@ -20,7 +20,7 @@ public ProcessRateParameterCreator(IObjectBaseFactory objectBaseFactory, IFormul _formulaMapper = formulaMapper; } - public IParameter CreateProcessRateParameterFor(IProcessBuilder processBuilder, SimulationBuilder simulationBuilder) + public IParameter CreateProcessRateParameterFor(ProcessBuilder processBuilder, SimulationBuilder simulationBuilder) { var parameter = _objectBaseFactory .Create() diff --git a/src/OSPSuite.Core/Domain/Mappers/ReactionBuilderToReactionMapper.cs b/src/OSPSuite.Core/Domain/Mappers/ReactionBuilderToReactionMapper.cs index 8bad65ab9..e984dd87c 100644 --- a/src/OSPSuite.Core/Domain/Mappers/ReactionBuilderToReactionMapper.cs +++ b/src/OSPSuite.Core/Domain/Mappers/ReactionBuilderToReactionMapper.cs @@ -4,7 +4,7 @@ namespace OSPSuite.Core.Domain.Mappers { - public interface IReactionBuilderToReactionMapper : ILocalMapper + public interface IReactionBuilderToReactionMapper : ILocalMapper { } @@ -32,9 +32,9 @@ public ReactionBuilderToReactionMapper(IObjectBaseFactory objectBaseFactory, _processRateParameterCreator = processRateParameterCreator; } - public IReaction MapFromLocal(IReactionBuilder reactionBuilder, IContainer container, SimulationBuilder simulationBuilder) + public Reaction MapFromLocal(ReactionBuilder reactionBuilder, IContainer container, SimulationBuilder simulationBuilder) { - var reaction = _objectBaseFactory.Create() + var reaction = _objectBaseFactory.Create() .WithName(reactionBuilder.Name) .WithDescription(reactionBuilder.Description) .WithIcon(reactionBuilder.Icon) @@ -53,12 +53,12 @@ public IReaction MapFromLocal(IReactionBuilder reactionBuilder, IContainer conta return reaction; } - private IFormula createReactionKinetic(IReactionBuilder reactionBuilder, SimulationBuilder simulationBuilder) + private IFormula createReactionKinetic(ReactionBuilder reactionBuilder, SimulationBuilder simulationBuilder) { return _formulaMapper.MapFrom(reactionBuilder.Formula, simulationBuilder); } - private IParameter processRateParameterFor(IReactionBuilder reactionBuilder, SimulationBuilder simulationBuilder) + private IParameter processRateParameterFor(ReactionBuilder reactionBuilder, SimulationBuilder simulationBuilder) { return _processRateParameterCreator.CreateProcessRateParameterFor(reactionBuilder, simulationBuilder); } diff --git a/src/OSPSuite.Core/Domain/Mappers/ReactionPartnerBuilderToReactionPartnerMapper.cs b/src/OSPSuite.Core/Domain/Mappers/ReactionPartnerBuilderToReactionPartnerMapper.cs index 45efdb32c..3899462d5 100644 --- a/src/OSPSuite.Core/Domain/Mappers/ReactionPartnerBuilderToReactionPartnerMapper.cs +++ b/src/OSPSuite.Core/Domain/Mappers/ReactionPartnerBuilderToReactionPartnerMapper.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Domain.Mappers { - public interface IReactionPartnerBuilderToReactionPartnerMapper : ILocalMapper + public interface IReactionPartnerBuilderToReactionPartnerMapper : ILocalMapper { } @@ -19,9 +19,9 @@ internal class ReactionPartnerBuilderToReactionPartnerMapper : IReactionPartnerB /// the reaction is created /// /// Simulation Builder - public IReactionPartner MapFromLocal(IReactionPartnerBuilder reactionPartnerBuilder, IContainer container, SimulationBuilder simulationBuilder) + public ReactionPartner MapFromLocal(ReactionPartnerBuilder reactionPartnerBuilder, IContainer container, SimulationBuilder simulationBuilder) { - var moleculeAmount = container.GetSingleChildByName(reactionPartnerBuilder.MoleculeName); + var moleculeAmount = container.GetSingleChildByName(reactionPartnerBuilder.MoleculeName); if (moleculeAmount == null) throw new MissingMoleculeAmountException(container.Name, reactionPartnerBuilder.MoleculeName); diff --git a/src/OSPSuite.Core/Domain/Mappers/TransportBuilderToTransportMapper.cs b/src/OSPSuite.Core/Domain/Mappers/TransportBuilderToTransportMapper.cs index 73d2c9d40..a4b82c452 100644 --- a/src/OSPSuite.Core/Domain/Mappers/TransportBuilderToTransportMapper.cs +++ b/src/OSPSuite.Core/Domain/Mappers/TransportBuilderToTransportMapper.cs @@ -5,14 +5,14 @@ namespace OSPSuite.Core.Domain.Mappers { /// - /// Mapper for the creation of a Transport in the model from . + /// Mapper for the creation of a Transport in the model from . /// - internal interface ITransportBuilderToTransportMapper : IBuilderMapper + internal interface ITransportBuilderToTransportMapper : IBuilderMapper { } /// - /// Mapper for the creation of a Transport in the model from . + /// Mapper for the creation of a Transport in the model from . /// internal class TransportBuilderToTransportMapper : ITransportBuilderToTransportMapper { @@ -32,9 +32,9 @@ public TransportBuilderToTransportMapper(IObjectBaseFactory objectBaseFactory, _processRateParameterCreator = processRateParameterCreator; } - public ITransport MapFrom(ITransportBuilder transportBuilder, SimulationBuilder simulationBuilder) + public Transport MapFrom(TransportBuilder transportBuilder, SimulationBuilder simulationBuilder) { - var transport = _objectBaseFactory.Create() + var transport = _objectBaseFactory.Create() .WithName(transportBuilder.Name) .WithIcon(transportBuilder.Icon) .WithDimension(transportBuilder.Dimension) @@ -51,12 +51,12 @@ public ITransport MapFrom(ITransportBuilder transportBuilder, SimulationBuilder return transport; } - private void addLocalParameters(ITransport transport, ITransportBuilder transportBuilder, SimulationBuilder simulationBuilder) + private void addLocalParameters(Transport transport, TransportBuilder transportBuilder, SimulationBuilder simulationBuilder) { transport.AddChildren(_parameterMapper.MapLocalFrom(transportBuilder, simulationBuilder)); } - private IParameter processRateParameterFor(ITransportBuilder transportBuilder, SimulationBuilder simulationBuilder) + private IParameter processRateParameterFor(TransportBuilder transportBuilder, SimulationBuilder simulationBuilder) { var parameter = _processRateParameterCreator.CreateProcessRateParameterFor(transportBuilder, simulationBuilder); @@ -66,7 +66,7 @@ private IParameter processRateParameterFor(ITransportBuilder transportBuilder, S return parameter; } - private IReadOnlyList transportTypeTagsFor(ITransportBuilder transportBuilder) + private IReadOnlyList transportTypeTagsFor(TransportBuilder transportBuilder) { if (!transportBuilder.TransportType.Is(TransportType.Active)) return new[] {Constants.PASSIVE}; diff --git a/src/OSPSuite.Core/Domain/Model.cs b/src/OSPSuite.Core/Domain/Model.cs index 4852c904f..fe1339531 100644 --- a/src/OSPSuite.Core/Domain/Model.cs +++ b/src/OSPSuite.Core/Domain/Model.cs @@ -81,7 +81,7 @@ public string MoleculeNameFor(IEntity entity) switch (entity) { - case IMoleculeAmount _: + case MoleculeAmount _: case IContainer container when container.ContainerType == ContainerType.Molecule: return entity.Name; } diff --git a/src/OSPSuite.Core/Domain/ModelCoreSimulation.cs b/src/OSPSuite.Core/Domain/ModelCoreSimulation.cs index 7f8a57b0e..17ce12f68 100644 --- a/src/OSPSuite.Core/Domain/ModelCoreSimulation.cs +++ b/src/OSPSuite.Core/Domain/ModelCoreSimulation.cs @@ -26,7 +26,7 @@ public interface IModelCoreSimulation : IObjectBase, IWithCreationMetaData, IWit /// The reactions used to create the simulation. This is only use as meta information /// on model creation for now. Adding to the building block will not change the model structure /// - IReadOnlyCollection Reactions { get; } + IReadOnlyList Reactions { get; } /// /// Name of all compounds used in the simulation @@ -59,7 +59,7 @@ public class ModelCoreSimulation : ObjectBase, IModelCoreSimulation public SimulationSettings Settings => Configuration?.SimulationSettings; - public IReadOnlyCollection Reactions => Configuration?.All(); + public IReadOnlyList Reactions => Configuration?.All(); public IReadOnlyList CompoundNames => Model?.AllPresentMoleculeNames; diff --git a/src/OSPSuite.Core/Domain/ModelCoreSimulationExtensions.cs b/src/OSPSuite.Core/Domain/ModelCoreSimulationExtensions.cs index e55f2fcf1..c8c899a02 100644 --- a/src/OSPSuite.Core/Domain/ModelCoreSimulationExtensions.cs +++ b/src/OSPSuite.Core/Domain/ModelCoreSimulationExtensions.cs @@ -32,23 +32,23 @@ public static IReadOnlyList AllApplicationParametersOrder private static IReadOnlyList allApplicationsForMolecule(IModelCoreSimulation simulation, string moleculeName) { - var applicationEventGroup = simulation.Model.Root.GetChildren().ToList(); + var applicationEventGroup = simulation.Model.Root.GetChildren().ToList(); if (!applicationEventGroup.Any()) return new List(); var allApplications = applicationEventGroup.SelectMany(x => x.GetAllChildren(c => c.ContainerType == ContainerType.Application)) .ToList(); - var reactionCache = new ObjectBaseCache(); + var reactionCache = new ObjectBaseCache(); reactionCache.AddRange(simulation.Reactions.SelectMany(x => x)); return getApplicationsForAppliedAncestorMolecule(reactionCache, moleculeName, allApplications, new List()); } - private static IReadOnlyList getApplicationsForAppliedAncestorMolecule(IEnumerable reactions, string moleculeName, + private static IReadOnlyList getApplicationsForAppliedAncestorMolecule(IEnumerable reactions, string moleculeName, IReadOnlyList allApplications, List alreadyCalculatedMolecules) { var applicationsForAppliedAncestorMolecule = - allApplications.Where(c => c.GetSingleChildByName(moleculeName) != null).ToList(); + allApplications.Where(c => c.GetSingleChildByName(moleculeName) != null).ToList(); // If there are any applications of this molecule, use them if (applicationsForAppliedAncestorMolecule.Any()) @@ -71,7 +71,7 @@ private static IReadOnlyList getApplicationsForAppliedAncestorMolecu return getApplicationsForAppliedAncestorMolecule(reactionsList, distinctEductsFromReactions[0], allApplications, alreadyCalculatedMolecules).ToList(); } - private static IReadOnlyList eductNamesFromReactions(IEnumerable reactions) + private static IReadOnlyList eductNamesFromReactions(IEnumerable reactions) { return reactions .Where(reaction => reaction.Educts.Count() == 1) @@ -80,7 +80,7 @@ private static IReadOnlyList eductNamesFromReactions(IEnumerable reactionsProducingMolecule(IEnumerable reactions, string moleculeName) + private static IReadOnlyList reactionsProducingMolecule(IEnumerable reactions, string moleculeName) { return reactions .Where(reaction => reaction.Products.Count() == 1 && string.Equals(reaction.Products.First().MoleculeName, moleculeName)) diff --git a/src/OSPSuite.Core/Domain/Module.cs b/src/OSPSuite.Core/Domain/Module.cs index 2989309df..751c25aea 100644 --- a/src/OSPSuite.Core/Domain/Module.cs +++ b/src/OSPSuite.Core/Domain/Module.cs @@ -16,12 +16,12 @@ public class Module : ObjectBase public bool ReadOnly { get; set; } = false; - public IEventGroupBuildingBlock EventGroups { set; get; } + public EventGroupBuildingBlock EventGroups { set; get; } public MoleculeBuildingBlock Molecules { set; get; } - public IObserverBuildingBlock Observers { set; get; } - public IReactionBuildingBlock Reactions { set; get; } - public IPassiveTransportBuildingBlock PassiveTransports { set; get; } - public ISpatialStructure SpatialStructure { set; get; } + public ObserverBuildingBlock Observers { set; get; } + public ReactionBuildingBlock Reactions { set; get; } + public PassiveTransportBuildingBlock PassiveTransports { set; get; } + public SpatialStructure SpatialStructure { set; get; } public IReadOnlyList MoleculeStartValuesCollection => _moleculeStartValuesCollection; public IReadOnlyList ParameterStartValuesCollection => _parameterStartValuesCollection; public virtual ExtendedProperties ExtendedProperties { get; } = new ExtendedProperties(); @@ -75,19 +75,19 @@ public void AddBuildingBlock(IBuildingBlock buildingBlock) case MoleculeBuildingBlock molecule: Molecules = molecule; break; - case IReactionBuildingBlock reaction: + case ReactionBuildingBlock reaction: Reactions = reaction; break; - case ISpatialStructure spatialStructure: + case SpatialStructure spatialStructure: SpatialStructure = spatialStructure; break; - case IPassiveTransportBuildingBlock passiveTransport: + case PassiveTransportBuildingBlock passiveTransport: PassiveTransports = passiveTransport; break; - case IEventGroupBuildingBlock eventGroup: + case EventGroupBuildingBlock eventGroup: EventGroups = eventGroup; break; - case IObserverBuildingBlock observer: + case ObserverBuildingBlock observer: Observers = observer; break; case ParameterStartValuesBuildingBlock parameterStartValues: @@ -110,19 +110,19 @@ public void RemoveBuildingBlock(IBuildingBlock buildingBlock) case MoleculeBuildingBlock _: Molecules = null; break; - case IReactionBuildingBlock _: + case ReactionBuildingBlock _: Reactions = null; break; - case ISpatialStructure _: + case SpatialStructure _: SpatialStructure = null; break; - case IPassiveTransportBuildingBlock _: + case PassiveTransportBuildingBlock _: PassiveTransports = null; break; - case IEventGroupBuildingBlock _: + case EventGroupBuildingBlock _: EventGroups = null; break; - case IObserverBuildingBlock _: + case ObserverBuildingBlock _: Observers = null; break; case ParameterStartValuesBuildingBlock parameterStartValues: @@ -138,14 +138,6 @@ public void RemoveBuildingBlock(IBuildingBlock buildingBlock) } } - public virtual IEnumerable AllPresentMolecules() - { - if (Molecules == null) - return Enumerable.Empty(); - - return Molecules.AllPresentFor(MoleculeStartValuesCollection); - } - public IReadOnlyList AllBuildingBlocks() { var buildingBlocks = new List diff --git a/src/OSPSuite.Core/Domain/MoleculeAmount.cs b/src/OSPSuite.Core/Domain/MoleculeAmount.cs index 063a2a586..f6bbf4dce 100644 --- a/src/OSPSuite.Core/Domain/MoleculeAmount.cs +++ b/src/OSPSuite.Core/Domain/MoleculeAmount.cs @@ -2,11 +2,7 @@ namespace OSPSuite.Core.Domain { - public interface IMoleculeAmount : IQuantityAndContainer, IWithScaleDivisor - { - } - - public class MoleculeAmount : QuantityAndContainer, IMoleculeAmount + public class MoleculeAmount : QuantityAndContainer, IWithScaleDivisor { public double ScaleDivisor { get; set; } @@ -22,7 +18,7 @@ public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager clone { base.UpdatePropertiesFrom(source, cloneManager); - var sourceMoleculeAmount = source as IMoleculeAmount; + var sourceMoleculeAmount = source as MoleculeAmount; if (sourceMoleculeAmount == null) return; ScaleDivisor = sourceMoleculeAmount.ScaleDivisor; QuantityType = sourceMoleculeAmount.QuantityType; diff --git a/src/OSPSuite.Core/Domain/MoleculeAmountExtension.cs b/src/OSPSuite.Core/Domain/MoleculeAmountExtension.cs index c808c8fc4..ba78e5338 100644 --- a/src/OSPSuite.Core/Domain/MoleculeAmountExtension.cs +++ b/src/OSPSuite.Core/Domain/MoleculeAmountExtension.cs @@ -2,7 +2,7 @@ { public static class MoleculeAmountExtension { - public static T WithScaleFactor(this T amount, double scaleFactor) where T : IMoleculeAmount + public static T WithScaleFactor(this T amount, double scaleFactor) where T : MoleculeAmount { amount.ScaleDivisor = scaleFactor; return amount; diff --git a/src/OSPSuite.Core/Domain/Observer.cs b/src/OSPSuite.Core/Domain/Observer.cs index ae5c26e03..5fe2e2cc0 100644 --- a/src/OSPSuite.Core/Domain/Observer.cs +++ b/src/OSPSuite.Core/Domain/Observer.cs @@ -2,11 +2,7 @@ namespace OSPSuite.Core.Domain { - public interface IObserver : IQuantity - { - } - - public class Observer : Quantity, IObserver + public class Observer : Quantity { public Observer() { diff --git a/src/OSPSuite.Core/Domain/ParameterFactory.cs b/src/OSPSuite.Core/Domain/ParameterFactory.cs index cbed6e74c..c2336ced7 100644 --- a/src/OSPSuite.Core/Domain/ParameterFactory.cs +++ b/src/OSPSuite.Core/Domain/ParameterFactory.cs @@ -26,7 +26,7 @@ public interface IParameterFactory /// The parameter won't be added to the . /// The object paths used in will be edited to ensure proper reference /// - IParameter CreateStartValueParameter(IMoleculeAmount moleculeAmount, IFormula modelFormulaToUse, Unit displayUnit = null); + IParameter CreateStartValueParameter(MoleculeAmount moleculeAmount, IFormula modelFormulaToUse, Unit displayUnit = null); /// /// Creates a parameter named with a constant formula of value . It @@ -86,7 +86,7 @@ public IParameter CreateVolumeParameter() return CreateParameter(Constants.Parameters.VOLUME, value: 1, dimension: volumeDimension, groupName: Constants.Groups.ORGAN_VOLUMES); } - public IParameter CreateStartValueParameter(IMoleculeAmount moleculeAmount, IFormula modelFormulaToUse, Unit displayUnit = null) + public IParameter CreateStartValueParameter(MoleculeAmount moleculeAmount, IFormula modelFormulaToUse, Unit displayUnit = null) { _concentrationBasedFormulaUpdater.UpdateRelativePathForStartValueMolecule(moleculeAmount, modelFormulaToUse); return CreateParameter(Constants.Parameters.START_VALUE, dimension: modelFormulaToUse.Dimension, displayUnit: displayUnit, formula: modelFormulaToUse); diff --git a/src/OSPSuite.Core/Domain/Process.cs b/src/OSPSuite.Core/Domain/Process.cs index dbbfbd4a0..d0d880f28 100644 --- a/src/OSPSuite.Core/Domain/Process.cs +++ b/src/OSPSuite.Core/Domain/Process.cs @@ -15,14 +15,14 @@ public interface IProcess : IUsingFormula, IContainer /// /// /// - bool Uses(IMoleculeAmount amount); + bool Uses(MoleculeAmount amount); } public abstract class Process : Container, IProcess { public IDimension Dimension { get; set; } public IFormula Formula { get; set; } - public abstract bool Uses(IMoleculeAmount amount); + public abstract bool Uses(MoleculeAmount amount); public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager cloneManager) { diff --git a/src/OSPSuite.Core/Domain/Reaction.cs b/src/OSPSuite.Core/Domain/Reaction.cs index ab32f96a2..973c07733 100644 --- a/src/OSPSuite.Core/Domain/Reaction.cs +++ b/src/OSPSuite.Core/Domain/Reaction.cs @@ -1,92 +1,67 @@ using System.Collections.Generic; using System.Linq; using OSPSuite.Assets; -using OSPSuite.Utility.Extensions; using OSPSuite.Core.Domain.Services; +using OSPSuite.Utility.Extensions; namespace OSPSuite.Core.Domain { /// /// A Reaction converts molecules to other /// - public interface IReaction : IProcess + public class Reaction : Process { - /// - /// Gets the educts of the reaction. - /// - /// The educts. - IEnumerable Educts { get; } + private readonly List _educts; + private readonly List _products; + private readonly List _modifier; - /// - /// Gets the products of the reaction. - /// - /// The products. - IEnumerable Products { get; } + public Reaction() + { + _educts = new List(); + _products = new List(); + _modifier = new List(); + ContainerType = ContainerType.Reaction; + Icon = IconNames.REACTION; + } /// - /// Gets the Modifier Names. + /// Gets the educts of the reaction. /// - /// The products. - IEnumerable ModifierNames { get; } + /// The educts. + public IEnumerable Educts => _educts; /// /// Adds the modifier name. /// /// Name of the modifier. - void AddModifier(string modifierName); + public void AddModifier(string modifierName) => _modifier.Add(modifierName); /// /// Adds the educt to the reactions educt list. /// /// The new educt. - void AddEduct(IReactionPartner newEduct); + public void AddEduct(ReactionPartner newEduct) => _educts.Add(newEduct); /// - /// Adds the product to the reactions product list. + /// Gets the products of the reaction. /// - /// The new product. - void AddProduct(IReactionPartner newProduct); - } - - public class Reaction : Process, IReaction - { - private readonly List _educts; - private readonly List _products; - private readonly List _modifier; - - public Reaction() - { - _educts = new List(); - _products = new List(); - _modifier = new List(); - ContainerType = ContainerType.Reaction; - Icon = IconNames.REACTION; - } - - public IEnumerable Educts => _educts; + /// The products. - public void AddModifier(string modifierName) - { - _modifier.Add(modifierName); - } + public IEnumerable Products => _products; /// - /// Adds the educt to the reactions educt list. + /// Gets the Modifier Names. /// - /// The new educt. - public void AddEduct(IReactionPartner newEduct) => _educts.Add(newEduct); - - public IEnumerable Products => _products; - + /// The products. public IEnumerable ModifierNames => _modifier; /// /// Adds the product to the reactions product list. /// /// The new product. - public void AddProduct(IReactionPartner newProduct) => _products.Add(newProduct); + public void AddProduct(ReactionPartner newProduct) => _products.Add(newProduct); - public override bool Uses(IMoleculeAmount amount) + public override bool Uses(MoleculeAmount amount) { return _educts.Any(x => Equals(x.Partner, amount)) || @@ -97,7 +72,7 @@ public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager clone { base.UpdatePropertiesFrom(source, cloneManager); - var srcReaction = source as IReaction; + var srcReaction = source as Reaction; if (srcReaction == null) return; srcReaction.ModifierNames.Each(AddModifier); //Educts/Products should NOT be cloned diff --git a/src/OSPSuite.Core/Domain/ReactionPartner.cs b/src/OSPSuite.Core/Domain/ReactionPartner.cs index 4b78a87ce..9989e8a33 100644 --- a/src/OSPSuite.Core/Domain/ReactionPartner.cs +++ b/src/OSPSuite.Core/Domain/ReactionPartner.cs @@ -2,27 +2,20 @@ namespace OSPSuite.Core.Domain { - public interface IReactionPartner + public class ReactionPartner { - double StoichiometricCoefficient { get; } - IMoleculeAmount Partner { get; } - } - - public class ReactionPartner : IReactionPartner - { - public double StoichiometricCoefficient { get; private set; } - public IMoleculeAmount Partner { get; private set; } + public double StoichiometricCoefficient { get; } + public MoleculeAmount Partner { get; } - [Obsolete("For serialization")] - public ReactionPartner() - { - } + [Obsolete("For serialization")] + public ReactionPartner() + { + } - public ReactionPartner(double stoichiometricCoefficient, IMoleculeAmount partner) - { - StoichiometricCoefficient = stoichiometricCoefficient; - Partner = partner; - } - - } + public ReactionPartner(double stoichiometricCoefficient, MoleculeAmount partner) + { + StoichiometricCoefficient = stoichiometricCoefficient; + Partner = partner; + } + } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Domain/Services/CalculationMethodTask.cs b/src/OSPSuite.Core/Domain/Services/CalculationMethodTask.cs index 4232e5315..44520c56a 100644 --- a/src/OSPSuite.Core/Domain/Services/CalculationMethodTask.cs +++ b/src/OSPSuite.Core/Domain/Services/CalculationMethodTask.cs @@ -69,7 +69,7 @@ public void MergeCalculationMethodInModel(ModelConfiguration modelConfiguration) } } - private void addHelpParametersFor(ICoreCalculationMethod calculationMethod, IList allMoleculesUsingMethod) + private void addHelpParametersFor(CoreCalculationMethod calculationMethod, IList allMoleculesUsingMethod) { foreach (var helpParameter in calculationMethod.AllHelpParameters()) { @@ -93,7 +93,7 @@ private void addHelpParametersFor(ICoreCalculationMethod calculationMethod, ILis } } - private void createFormulaForBlackBoxParameters(ICoreCalculationMethod calculationMethod, IList allMoleculesUsingMethod) + private void createFormulaForBlackBoxParameters(CoreCalculationMethod calculationMethod, IList allMoleculesUsingMethod) { foreach (var formula in calculationMethod.AllOutputFormulas()) { @@ -167,7 +167,7 @@ private bool parameterIsNotBlackBoxParameter(IParameter parameter) return !_allBlackBoxParameters.Contains(parameter); } - private IEnumerable allMoleculesUsing(ICoreCalculationMethod calculationMethod, IReadOnlyCollection molecules) + private IEnumerable allMoleculesUsing(CoreCalculationMethod calculationMethod, IReadOnlyCollection molecules) { return molecules .Where(molecule => molecule.IsFloatingXenobiotic) @@ -176,7 +176,7 @@ private IEnumerable allMoleculesUsing(ICoreCalculationMethod c .Select(x => x.molecule); } - private IEnumerable allMoleculeContainersFor(DescriptorCriteria containerDescriptor, IMoleculeBuilder molecule) + private IEnumerable allMoleculeContainersFor(DescriptorCriteria containerDescriptor, MoleculeBuilder molecule) { return from container in _allContainers.AllSatisfiedBy(containerDescriptor) let moleculeContainer = container.GetSingleChildByName(molecule.Name) @@ -184,7 +184,7 @@ private IEnumerable allMoleculeContainersFor(DescriptorCriteria cont select moleculeContainer; } - private IEnumerable allMoleculeParameterForFormula(ParameterDescriptor parameterDescriptor, IMoleculeBuilder molecule) + private IEnumerable allMoleculeParameterForFormula(ParameterDescriptor parameterDescriptor, MoleculeBuilder molecule) { return from container in allMoleculeContainersFor(parameterDescriptor.ContainerCriteria, molecule) let parameter = container.GetSingleChildByName(parameterDescriptor.ParameterName) diff --git a/src/OSPSuite.Core/Domain/Services/ConcentrationBasedFormulaUpdater.cs b/src/OSPSuite.Core/Domain/Services/ConcentrationBasedFormulaUpdater.cs index 317e64f39..8e73490c2 100644 --- a/src/OSPSuite.Core/Domain/Services/ConcentrationBasedFormulaUpdater.cs +++ b/src/OSPSuite.Core/Domain/Services/ConcentrationBasedFormulaUpdater.cs @@ -27,7 +27,7 @@ public interface IConcentrationBasedFormulaUpdater /// This is required because the formula was designed for the but will be silently attached to the start value parameter /// defined under the . /// - void UpdateRelativePathForStartValueMolecule(IMoleculeAmount molecule, IFormula moleculeFormulaToUse); + void UpdateRelativePathForStartValueMolecule(MoleculeAmount molecule, IFormula moleculeFormulaToUse); } public class ConcentrationBasedFormulaUpdater : IConcentrationBasedFormulaUpdater @@ -72,7 +72,7 @@ public ExplicitFormula CreateAmountBaseFormulaFor(IFormula concentrationFormula) return updateFormulaToAmountBase(concentrationFormula, _dimensionFactory.Dimension(Constants.Dimension.MOLAR_AMOUNT)); } - public void UpdateRelativePathForStartValueMolecule(IMoleculeAmount molecule, IFormula moleculeFormulaToUse) + public void UpdateRelativePathForStartValueMolecule(MoleculeAmount molecule, IFormula moleculeFormulaToUse) { foreach (var objectPath in moleculeFormulaToUse.ObjectPaths.Where(x=>x.Any())) { diff --git a/src/OSPSuite.Core/Domain/Services/ContainerTask.cs b/src/OSPSuite.Core/Domain/Services/ContainerTask.cs index b4a22cd5c..21b6261c2 100644 --- a/src/OSPSuite.Core/Domain/Services/ContainerTask.cs +++ b/src/OSPSuite.Core/Domain/Services/ContainerTask.cs @@ -32,7 +32,7 @@ public interface IContainerTask /// No unregister at a repository is performed /// The spatial structure. /// The container to remove. - void RemoveContainerFrom(ISpatialStructure spatialStructure, IContainer containerToRemove); + void RemoveContainerFrom(SpatialStructure spatialStructure, IContainer containerToRemove); /// /// Returns a unique child name in the parent container with the suffix baseName. @@ -73,7 +73,7 @@ public interface IContainerTask PathCache CacheAllChildren(IContainer parentContainer) where TChildren : class, IEntity; /// - /// Returns a cache of all elements in the + /// Returns a cache of all elements in the /// /// /// @@ -112,7 +112,7 @@ public IContainer CreateOrRetrieveSubContainerByName(IContainer parentContainer, return parentContainer.GetSingleChildByName(subContainerName); } - public void RemoveContainerFrom(ISpatialStructure spatialStructure, IContainer containerToRemove) + public void RemoveContainerFrom(SpatialStructure spatialStructure, IContainer containerToRemove) { var containerPath = _objectPathFactory.CreateAbsoluteObjectPath(containerToRemove); spatialStructure.AllNeighborhoodBuildersConnectedWith(containerPath).Each(spatialStructure.RemoveNeighborhood); diff --git a/src/OSPSuite.Core/Domain/Services/EventBuilderTask.cs b/src/OSPSuite.Core/Domain/Services/EventBuilderTask.cs index f03ecc7a5..7ac2a8948 100644 --- a/src/OSPSuite.Core/Domain/Services/EventBuilderTask.cs +++ b/src/OSPSuite.Core/Domain/Services/EventBuilderTask.cs @@ -79,7 +79,7 @@ public void CreateEvents(ModelConfiguration modelConfiguration) /// /// Adds event group to all model containers with defined criteria /// - private void createEventGroupFrom(IEventGroupBuilder eventGroupBuilder) + private void createEventGroupFrom(EventGroupBuilder eventGroupBuilder) { foreach (var sourceContainer in _sourceCriteriaTargetContainerCache[eventGroupBuilder.SourceCriteria]) { @@ -90,24 +90,24 @@ private void createEventGroupFrom(IEventGroupBuilder eventGroupBuilder) /// /// Adds event group to source container where event takes place /// - private void createEventGroupInContainer(IEventGroupBuilder eventGroupBuilder, IContainer sourceContainer) + private void createEventGroupInContainer(EventGroupBuilder eventGroupBuilder, IContainer sourceContainer) { //this creates recursively all event groups for the given builder var eventGroup = _eventGroupMapper.MapFrom(eventGroupBuilder, _simulationBuilder); sourceContainer.Add(eventGroup); //needs to add the requires transport into model only for the added event group - foreach (var childEventGroup in eventGroup.GetAllContainersAndSelf()) + foreach (var childEventGroup in eventGroup.GetAllContainersAndSelf()) { - var childEventGroupBuilder = _simulationBuilder.BuilderFor(childEventGroup).DowncastTo(); - if (childEventGroupBuilder is IApplicationBuilder applicationBuilder) + var childEventGroupBuilder = _simulationBuilder.BuilderFor(childEventGroup).DowncastTo(); + if (childEventGroupBuilder is ApplicationBuilder applicationBuilder) addApplicationTransports(applicationBuilder, childEventGroup); _keywordReplacerTask.ReplaceIn(childEventGroup, _model.Root, childEventGroupBuilder); } } - private void addApplicationTransports(IApplicationBuilder applicationBuilder, IEventGroup eventGroup) + private void addApplicationTransports(ApplicationBuilder applicationBuilder, EventGroup eventGroup) { var allEventGroupParentChildContainers = eventGroup.GetAllContainersAndSelf().ToEntityDescriptorMapList(); foreach (var appTransport in applicationBuilder.Transports) @@ -120,20 +120,20 @@ private void addApplicationTransports(IApplicationBuilder applicationBuilder, IE } } - private void addApplicationTransportToModel(ITransportBuilder appTransport, EntityDescriptorMapList allEventGroupParentChildContainers, string moleculeName) + private void addApplicationTransportToModel(TransportBuilder appTransport, EntityDescriptorMapList allEventGroupParentChildContainers, string moleculeName) { var appTransportSourceContainers = sourceContainersFor(appTransport, allEventGroupParentChildContainers); var appTransportTargetContainers = _applicationTransportTargetContainerCache[appTransport.TargetCriteria].ToList(); foreach (var sourceContainer in appTransportSourceContainers) { - var sourceAmount = sourceContainer.GetSingleChildByName(moleculeName); + var sourceAmount = sourceContainer.GetSingleChildByName(moleculeName); if (sourceAmount == null) throw new OSPSuiteException(Validation.CannotCreateApplicationSourceNotFound(appTransport.Name, moleculeName, sourceContainer.Name)); foreach (var targetContainer in appTransportTargetContainers) { - var targetAmount = targetContainer.GetSingleChildByName(moleculeName); + var targetAmount = targetContainer.GetSingleChildByName(moleculeName); if (targetAmount == null) throw new OSPSuiteException(Validation.CannotCreateApplicationTargetNotFound(appTransport.Name, moleculeName, targetContainer.Name)); @@ -155,7 +155,7 @@ private void addApplicationTransportToModel(ITransportBuilder appTransport, Enti } } - private IEnumerable sourceContainersFor(ITransportBuilder transport, EntityDescriptorMapList allEventGroupParentChildContainers) + private IEnumerable sourceContainersFor(TransportBuilder transport, EntityDescriptorMapList allEventGroupParentChildContainers) { return allEventGroupParentChildContainers.AllSatisfiedBy(transport.SourceCriteria); } diff --git a/src/OSPSuite.Core/Domain/Services/FormulaUsageChecker.cs b/src/OSPSuite.Core/Domain/Services/FormulaUsageChecker.cs index 957cf82bc..520d1ebbe 100644 --- a/src/OSPSuite.Core/Domain/Services/FormulaUsageChecker.cs +++ b/src/OSPSuite.Core/Domain/Services/FormulaUsageChecker.cs @@ -1,6 +1,6 @@ -using OSPSuite.Utility.Visitor; -using OSPSuite.Core.Domain.Builder; +using OSPSuite.Core.Domain.Builder; using OSPSuite.Core.Domain.Formulas; +using OSPSuite.Utility.Visitor; namespace OSPSuite.Core.Domain.Services { @@ -14,7 +14,11 @@ public interface IFormulaUsageChecker bool FormulaUsedIn(IObjectBase objectBase, IFormula formula); } - public class FormulaUsageChecker : IVisitor, IVisitor, IVisitor, IFormulaUsageChecker + public class FormulaUsageChecker : + IVisitor, + IVisitor, + IVisitor, + IFormulaUsageChecker { private IFormula _formula; @@ -50,7 +54,7 @@ public void Visit(IUsingFormula usingFormula) _formulaUsed = usingFormula.Formula == _formula; } - public void Visit(IMoleculeBuilder moleculeBuilder) + public void Visit(MoleculeBuilder moleculeBuilder) { if (_formulaUsed) return; _formulaUsed = moleculeBuilder.DefaultStartFormula.Equals(_formula); diff --git a/src/OSPSuite.Core/Domain/Services/KeywordReplacerTask.cs b/src/OSPSuite.Core/Domain/Services/KeywordReplacerTask.cs index 73c0bb53b..86c548f67 100644 --- a/src/OSPSuite.Core/Domain/Services/KeywordReplacerTask.cs +++ b/src/OSPSuite.Core/Domain/Services/KeywordReplacerTask.cs @@ -19,14 +19,14 @@ public interface IKeywordReplacerTask /// Replace the keywords used in the observer formula with the appropriate names from the root container. /// The Molecule keyword will also be replaced with the moleculeName /// - void ReplaceIn(IObserver observer, IContainer rootContainer, string moleculeName); + void ReplaceIn(Observer observer, IContainer rootContainer, string moleculeName); /// /// Replace the keywords used in the observer formula with the appropriate names from the root container. /// The Molecule keyword will also be replaced with the moleculeName /// The Neighborhood keywords will also be replaced by the names from the neighborhood /// - void ReplaceIn(IObserver observer, IContainer rootContainer, string moleculeName, Neighborhood neighborhood); + void ReplaceIn(Observer observer, IContainer rootContainer, string moleculeName, Neighborhood neighborhood); /// /// Replace the keywords used in the neighborhoods entities with the appropriate names from the root container. @@ -38,14 +38,14 @@ public interface IKeywordReplacerTask /// Replace the keywords used in the event transport kinetic with the appropriate names from the root container. /// The Molecule keyword will also be replaced with the moleculeName /// - void ReplaceIn(ITransport eventTransport, IContainer rootContainer, string moleculeName); + void ReplaceIn(Transport eventTransport, IContainer rootContainer, string moleculeName); /// /// Replace the keywords used in the passive transport kinetic with the appropriate names from the root container. /// The Molecule keyword will also be replaced with the moleculeName /// The Neighborhood keywords will also be replaced by the names from the neighborhood /// - void ReplaceIn(ITransport passiveTransport, IContainer rootContainer, string moleculeName, Neighborhood neighborhood); + void ReplaceIn(Transport passiveTransport, IContainer rootContainer, string moleculeName, Neighborhood neighborhood); /// /// Replace the keywords used in the active transport kinetic with the appropriate names from the root container. @@ -53,14 +53,14 @@ public interface IKeywordReplacerTask /// The Neighborhood keywords will also be replaced by the names from the neighborhood /// The keywords TRANSPORT, SOURCE and TARGET will also be replaced by the names from the transporter and transport /// - void ReplaceIn(ITransport realization, IContainer rootContainer, string moleculeName, Neighborhood neighborhood, string transportName, + void ReplaceIn(Transport realization, IContainer rootContainer, string moleculeName, Neighborhood neighborhood, string transportName, string transporterName); /// /// Replace the keywords used in the event group and all the defined event with the appropriate names from the root /// container. /// - void ReplaceIn(IEventGroup eventGroup, IContainer rootContainer, IEventGroupBuilder eventGroupBuilder); + void ReplaceIn(EventGroup eventGroup, IContainer rootContainer, EventGroupBuilder eventGroupBuilder); /// /// Create a new object path based on the given object path where the keyword have been replaced with the appropriate @@ -79,15 +79,15 @@ void ReplaceIn(ITransport realization, IContainer rootContainer, string molecule void ReplaceIn(IParameter parameter, IContainer rootContainer); void ReplaceIn(IParameter parameter, IContainer rootContainer, string moleculeName); - void ReplaceIn(IMoleculeAmount moleculeAmount, IContainer rootContainer); + void ReplaceIn(MoleculeAmount moleculeAmount, IContainer rootContainer); - void ReplaceIn(IMoleculeAmount moleculeAmount); + void ReplaceIn(MoleculeAmount moleculeAmount); } internal class KeywordReplacerTask : IKeywordReplacerTask, IVisitor, IVisitor, - IVisitor + IVisitor { private readonly IObjectPathFactory _objectPathFactory; private IContainer _rootContainer; @@ -101,14 +101,14 @@ public void ReplaceInReactionContainer(IContainer reactionContainer, IContainer { var keywordReplacer = new KeywordReplacerCollection(); addCommonModelReplacersTo(keywordReplacer, rootContainer); - var reaction = reactionContainer as IReaction; + var reaction = reactionContainer as Reaction; if (reaction != null) keywordReplacer.ReplaceIn(reaction); replaceInContainer(reactionContainer, rootContainer); } - public void ReplaceIn(IObserver observer, IContainer rootContainer, string moleculeName) + public void ReplaceIn(Observer observer, IContainer rootContainer, string moleculeName) { ReplaceIn(observer, rootContainer, moleculeName, null); } @@ -122,17 +122,17 @@ public void ReplaceIn(Neighborhood neighborhood, IContainer rootContainer) neighborhood.GetChildren().Each(x => replaceWithMoleculeKeywords(keywordReplacer, x, x.Name)); } - public void ReplaceIn(ITransport eventTransport, IContainer rootContainer, string moleculeName) + public void ReplaceIn(Transport eventTransport, IContainer rootContainer, string moleculeName) { ReplaceIn(eventTransport, rootContainer, moleculeName, null); } - public void ReplaceIn(ITransport passiveTransport, IContainer rootContainer, string moleculeName, Neighborhood neighborhood) + public void ReplaceIn(Transport passiveTransport, IContainer rootContainer, string moleculeName, Neighborhood neighborhood) { ReplaceIn(passiveTransport, rootContainer, moleculeName, neighborhood, null, null); } - public void ReplaceIn(ITransport realization, IContainer rootContainer, string moleculeName, Neighborhood neighborhood, string transportName, + public void ReplaceIn(Transport realization, IContainer rootContainer, string moleculeName, Neighborhood neighborhood, string transportName, string transporterName) { var keywordReplacer = new KeywordReplacerCollection(); @@ -155,12 +155,12 @@ public void ReplaceIn(ITransport realization, IContainer rootContainer, string m transportContainer.GetAllChildren().Each(keywordReplacer.ReplaceIn); } - public void ReplaceIn(IEventGroup eventGroup, IContainer rootContainer, IEventGroupBuilder eventGroupBuilder) + public void ReplaceIn(EventGroup eventGroup, IContainer rootContainer, EventGroupBuilder eventGroupBuilder) { var keywordReplacer = new KeywordReplacerCollection(); addCommonModelReplacersTo(keywordReplacer, rootContainer); - var applicationBuilder = eventGroupBuilder as IApplicationBuilder; + var applicationBuilder = eventGroupBuilder as ApplicationBuilder; if (applicationBuilder != null) { addMoleculeReplacersTo(keywordReplacer, applicationBuilder.MoleculeName); @@ -169,10 +169,10 @@ public void ReplaceIn(IEventGroup eventGroup, IContainer rootContainer, IEventGr replaceInEventGroup(eventGroup, keywordReplacer); } - private void replaceInEventGroup(IEventGroup eventGroup, KeywordReplacerCollection keywordReplacer) + private void replaceInEventGroup(EventGroup eventGroup, KeywordReplacerCollection keywordReplacer) { eventGroup.GetAllChildren().Each(keywordReplacer.ReplaceIn); - eventGroup.GetAllChildren().Select(x => x.ObjectPath).Each(keywordReplacer.ReplaceIn); + eventGroup.GetAllChildren().Select(x => x.ObjectPath).Each(keywordReplacer.ReplaceIn); } public ObjectPath CreateModelPathFor(ObjectPath objectPath, IContainer rootContainer) @@ -214,7 +214,7 @@ private void replaceWithMoleculeKeywords(IEnumerable generalKe container.GetChildren().Each(keywordReplacer.ReplaceIn); } - public void ReplaceIn(IObserver observer, IContainer rootContainer, string moleculeName, Neighborhood neighborhood) + public void ReplaceIn(Observer observer, IContainer rootContainer, string moleculeName, Neighborhood neighborhood) { var keywordReplacer = new KeywordReplacerCollection(); addCommonModelReplacersTo(keywordReplacer, rootContainer); @@ -258,7 +258,7 @@ public void ReplaceIn(IParameter parameter, IContainer rootContainer) var parameterContainer = parameter.ParentContainer; //Global molecule container or local molecule amount container - var isInMolecule = parameterContainer.IsAnImplementationOf() || + var isInMolecule = parameterContainer.IsAnImplementationOf() || parameterContainer.ContainerType == ContainerType.Molecule; ReplaceIn(parameter, rootContainer, isInMolecule ? parameterContainer.Name : string.Empty); @@ -269,7 +269,7 @@ public void ReplaceIn(IParameter parameter, IContainer rootContainer, string mol replaceIn(parameter, rootContainer, moleculeName); } - public void ReplaceIn(IMoleculeAmount moleculeAmount, IContainer rootContainer) + public void ReplaceIn(MoleculeAmount moleculeAmount, IContainer rootContainer) { replaceIn(moleculeAmount, rootContainer, moleculeAmount.Name); replaceIn(moleculeAmount.GetSingleChildByName(Constants.Parameters.START_VALUE), rootContainer, moleculeAmount.Name); @@ -284,7 +284,7 @@ private void replaceIn(IUsingFormula usingFormula, IContainer rootContainer, str keywordReplacer.ReplaceIn(usingFormula); } - public void ReplaceIn(IMoleculeAmount moleculeAmount) + public void ReplaceIn(MoleculeAmount moleculeAmount) { var keywordReplacer = new KeywordReplacerCollection(); addMoleculeReplacersTo(keywordReplacer, moleculeAmount.Name); @@ -301,7 +301,7 @@ public void Visit(IUsingFormula usingFormula) replaceInUsingFormula(usingFormula, _rootContainer); } - public void Visit(IMoleculeAmount moleculeAmount) + public void Visit(MoleculeAmount moleculeAmount) { var keywordReplacer = new KeywordReplacerCollection(); addCommonModelReplacersTo(keywordReplacer, _rootContainer); diff --git a/src/OSPSuite.Core/Domain/Services/ModelConstructor.cs b/src/OSPSuite.Core/Domain/Services/ModelConstructor.cs index 559f6eca9..64e4f0a07 100644 --- a/src/OSPSuite.Core/Domain/Services/ModelConstructor.cs +++ b/src/OSPSuite.Core/Domain/Services/ModelConstructor.cs @@ -357,7 +357,7 @@ private void addLocalStructureMoleculeParametersToMoleculeAmount(IEnumerable(moleculeName); + var moleculeAmount = moleculePropertiesContainerTemplate.ParentContainer.GetSingleChildByName(moleculeName); if (moleculeAmount == null) continue; @@ -385,7 +385,7 @@ private static bool containerIsPhysical(StartValueAndContainer startValueAndCont return startValueAndContainer.Container != null && startValueAndContainer.Container.Mode == ContainerMode.Physical; } - private void addMoleculeToContainer(SimulationBuilder simulationBuilder, IContainer container, IMoleculeBuilder moleculeBuilder) + private void addMoleculeToContainer(SimulationBuilder simulationBuilder, IContainer container, MoleculeBuilder moleculeBuilder) { container.Add(_moleculeMapper.MapFrom(moleculeBuilder, container, simulationBuilder)); } diff --git a/src/OSPSuite.Core/Domain/Services/ModelFinalizer.cs b/src/OSPSuite.Core/Domain/Services/ModelFinalizer.cs index 1693407c3..511ac739d 100644 --- a/src/OSPSuite.Core/Domain/Services/ModelFinalizer.cs +++ b/src/OSPSuite.Core/Domain/Services/ModelFinalizer.cs @@ -51,19 +51,19 @@ private void finalizeReactions(ICache sourceReactionCont private void finalizeReactionsInContainer(IContainer sourceContainer, IContainer cloneContainer) { - foreach (var sourceReaction in sourceContainer.GetChildren()) + foreach (var sourceReaction in sourceContainer.GetChildren()) { - var cloneReaction = cloneContainer.GetSingleChildByName(sourceReaction.Name); + var cloneReaction = cloneContainer.GetSingleChildByName(sourceReaction.Name); finalizePartners(cloneContainer, sourceReaction.Products, cloneReaction.AddProduct); finalizePartners(cloneContainer, sourceReaction.Educts, cloneReaction.AddEduct); } } - private void finalizePartners(IContainer cloneContainer, IEnumerable sourcePartners, Action addPartner) + private void finalizePartners(IContainer cloneContainer, IEnumerable sourcePartners, Action addPartner) { foreach (var reactionPartner in sourcePartners) { - var clonePartner = cloneContainer.GetSingleChildByName(reactionPartner.Partner.Name); + var clonePartner = cloneContainer.GetSingleChildByName(reactionPartner.Partner.Name); addPartner(new ReactionPartner(reactionPartner.StoichiometricCoefficient, clonePartner)); } } @@ -71,12 +71,12 @@ private void finalizePartners(IContainer cloneContainer, IEnumerable createReactionContainerCache(IModel model) { var cache = new Cache(); - var reactionContainer = model.Root.GetAllChildren(x => x.Children.Any(child => child.IsAnImplementationOf())); + var reactionContainer = model.Root.GetAllChildren(x => x.Children.Any(child => child.IsAnImplementationOf())); reactionContainer.Each(cont => cache.Add(_objectPathFactory.CreateAbsoluteObjectPath(cont), cont)); return cache; } - private void finalizeEventTransports(IModel cloneModel, ICache sourceEventGroups, ICache cloneEventGroups) + private void finalizeEventTransports(IModel cloneModel, ICache sourceEventGroups, ICache cloneEventGroups) { foreach (var sourceKeyValues in sourceEventGroups.KeyValues) { @@ -100,10 +100,10 @@ private void finalizeEventContainer(IContainer sourceEventGroup, IContainer clon finalizeTransportsInMoleculeParentContainer(cloneModel, sourceEventGroup, cloneEventGroup); } - private Cache createEventGroupCache(IModel model) + private Cache createEventGroupCache(IModel model) { - var cache = new Cache(); - var eventGroups = model.Root.GetAllChildren(); + var cache = new Cache(); + var eventGroups = model.Root.GetAllChildren(); eventGroups.Each(eg => cache.Add(_objectPathFactory.CreateAbsoluteObjectPath(eg), eg)); return cache; } @@ -142,15 +142,15 @@ private void finalizeTransportsInMoleculeParentContainer(IModel cloneModel, ICon { var cloneMoleculeContainer = cloneContainer.GetSingleChildByName(moleculeContainer.Name); - var sourceTransports = moleculeContainer.GetChildren(); - var tmp = cloneMoleculeContainer.GetChildren(); + var sourceTransports = moleculeContainer.GetChildren(); + var tmp = cloneMoleculeContainer.GetChildren(); finalizeTransports(cloneModel, tmp, sourceTransports); } } - private void finalizeTransports(IModel cloneModel, IEnumerable tmp, IEnumerable sourceTransports) + private void finalizeTransports(IModel cloneModel, IEnumerable tmp, IEnumerable sourceTransports) { - var cloneTransports = new Cache(x => x.Name); + var cloneTransports = new Cache(x => x.Name); cloneTransports.AddRange(tmp); @@ -161,13 +161,13 @@ private void finalizeTransports(IModel cloneModel, IEnumerable tmp, } } - private void resolveAmounts(IModel cloneModel, ITransport sourceTransport, ITransport cloneTransport) + private void resolveAmounts(IModel cloneModel, Transport sourceTransport, Transport cloneTransport) { var sourceAmountPath = _objectPathFactory.CreateAbsoluteObjectPath(sourceTransport.SourceAmount); var targetAmountPath = _objectPathFactory.CreateAbsoluteObjectPath(sourceTransport.TargetAmount); - cloneTransport.SourceAmount = sourceAmountPath.Resolve(cloneModel.Root); - cloneTransport.TargetAmount = targetAmountPath.Resolve(cloneModel.Root); + cloneTransport.SourceAmount = sourceAmountPath.Resolve(cloneModel.Root); + cloneTransport.TargetAmount = targetAmountPath.Resolve(cloneModel.Root); } private void resolveNeighbors(IModel cloneModel, Neighborhood sourceNeighborhood, Neighborhood cloneNeighborhood) diff --git a/src/OSPSuite.Core/Domain/Services/ModelReportCreator.cs b/src/OSPSuite.Core/Domain/Services/ModelReportCreator.cs index 3932644e2..c3a0e0242 100644 --- a/src/OSPSuite.Core/Domain/Services/ModelReportCreator.cs +++ b/src/OSPSuite.Core/Domain/Services/ModelReportCreator.cs @@ -90,13 +90,13 @@ private void reportFor(IContainer container) { if (container.IsAnImplementationOf()) return; - if (container.IsAnImplementationOf()) + if (container.IsAnImplementationOf()) return; - if (container.IsAnImplementationOf()) + if (container.IsAnImplementationOf()) return; if (container.IsAnImplementationOf()) return; - if (container.IsAnImplementationOf()) + if (container.IsAnImplementationOf()) return; if (container.Name.Equals(Constants.MOLECULE_PROPERTIES) || container.ParentContainer.Name.Equals(Constants.MOLECULE_PROPERTIES)) @@ -141,7 +141,7 @@ private void reportFor(Neighborhood neighborhood) _report.AppendLine(); } - private void reportFor(IMoleculeAmount moleculeAmount) + private void reportFor(MoleculeAmount moleculeAmount) { if (moleculeAmount.Formula.IsAnImplementationOf() && (moleculeAmount.Value == 0)) return; @@ -155,7 +155,7 @@ private void reportFor(IMoleculeAmount moleculeAmount) _report.AppendLine(); } - private void reportFor(IObserver observer) + private void reportFor(Observer observer) { _report.AppendFormat("Observer: {0}", observer.Name); _report.AppendLine(); @@ -202,7 +202,7 @@ private void reportFor(IParameter parameter) _report.AppendLine(); } - private void reportFor(IEvent modelEvent) + private void reportFor(Event modelEvent) { _report.AppendFormat("Event: {0}", modelEvent.Name); _report.AppendLine(); @@ -223,7 +223,7 @@ private void reportFor(IEvent modelEvent) _report.AppendLine(); } - private void reportFor(IReaction reaction) + private void reportFor(Reaction reaction) { _report.AppendFormat("Reaction: {0}", reaction.Name); _report.AppendLine(); @@ -248,7 +248,7 @@ private void reportFor(IReaction reaction) _report.AppendLine(); } - private void reportFor(ITransport transport) + private void reportFor(Transport transport) { _report.AppendFormat("Transport: {0}", transport.Name); _report.AppendLine(); @@ -388,32 +388,32 @@ private void neighborhoodsReportFor(IModel model) private void moleculesStartValuesReport() { - createEntityReport("MOLECULE_START_FORMULAS (Non zero only)", reportFor); + createEntityReport("MOLECULE_START_FORMULAS (Non zero only)", reportFor); } private void transportsReport() { - createEntityReport("TRANSPORTS", reportFor); + createEntityReport("TRANSPORTS", reportFor); } private void observersReport() { - createEntityReport("OBSERVER (Non zero only)", reportFor); + createEntityReport("OBSERVER (Non zero only)", reportFor); } private void parametersReport() { - createEntityReport("PARAMETER", reportFor); + createEntityReport("PARAMETER", reportFor); } private void eventsReport() { - createEntityReport("SWITCHES", reportFor); + createEntityReport("SWITCHES", reportFor); } private void reactionsReport() { - createEntityReport("REACTIONS", reportFor); + createEntityReport("REACTIONS", reportFor); } private void createEntityReport(string separatorName, Action reportFor) diff --git a/src/OSPSuite.Core/Domain/Services/ModelValidator.cs b/src/OSPSuite.Core/Domain/Services/ModelValidator.cs index 844967b1e..325ea58a3 100644 --- a/src/OSPSuite.Core/Domain/Services/ModelValidator.cs +++ b/src/OSPSuite.Core/Domain/Services/ModelValidator.cs @@ -164,46 +164,46 @@ public void Visit(IParameter parameter) } internal class ValidatorForReactionsAndTransports : ModelValidator, - IVisitor, - IVisitor + IVisitor, + IVisitor { public ValidatorForReactionsAndTransports(IObjectTypeResolver objectTypeResolver, IObjectPathFactory objectPathFactory) : base(objectTypeResolver, objectPathFactory) { } - public void Visit(IReaction reaction) + public void Visit(Reaction reaction) { CheckReferences(reaction); } - public void Visit(ITransport transport) + public void Visit(Transport transport) { CheckReferences(transport); } } internal class ValidatorForObserversAndEvents : ModelValidator, - IVisitor, - IVisitor, - IVisitor + IVisitor, + IVisitor, + IVisitor { public ValidatorForObserversAndEvents(IObjectTypeResolver objectTypeResolver, IObjectPathFactory objectPathFactory) : base(objectTypeResolver, objectPathFactory) { } - public void Visit(IEvent oneEvent) + public void Visit(Event oneEvent) { CheckReferences(oneEvent); } - public void Visit(IObserver observer) + public void Visit(Observer observer) { CheckReferences(observer, ResolveErrorBehavior.DeleteAndWarning); } - public void Visit(IEventAssignment eventAssignment) + public void Visit(EventAssignment eventAssignment) { CheckReferences(eventAssignment); CheckPath(eventAssignment, eventAssignment.ObjectPath, ResolveErrorBehavior.Error); diff --git a/src/OSPSuite.Core/Domain/Services/MoleculeBuildingBlockValidator.cs b/src/OSPSuite.Core/Domain/Services/MoleculeBuildingBlockValidator.cs index 5065ae206..c19df018b 100644 --- a/src/OSPSuite.Core/Domain/Services/MoleculeBuildingBlockValidator.cs +++ b/src/OSPSuite.Core/Domain/Services/MoleculeBuildingBlockValidator.cs @@ -16,14 +16,14 @@ public interface IMoleculeBuildingBlockValidator /// The validation results corresponding to the validation ValidationResult Validate(MoleculeBuildingBlock moleculeBuildingBlock); - ValidationResult Validate(IReadOnlyCollection molecules); + ValidationResult Validate(IReadOnlyCollection molecules); } internal class MoleculeBuildingBlockValidator : IMoleculeBuildingBlockValidator { public ValidationResult Validate(MoleculeBuildingBlock moleculeBuildingBlock) => Validate(moleculeBuildingBlock.ToList()); - public ValidationResult Validate(IReadOnlyCollection molecules) + public ValidationResult Validate(IReadOnlyCollection molecules) { var validationResults = new ValidationResult(); foreach (var molecule in molecules.Where(m => m.IsFloating)) diff --git a/src/OSPSuite.Core/Domain/Services/MoleculePropertiesContainerTask.cs b/src/OSPSuite.Core/Domain/Services/MoleculePropertiesContainerTask.cs index 97ab70d83..60fb05a88 100644 --- a/src/OSPSuite.Core/Domain/Services/MoleculePropertiesContainerTask.cs +++ b/src/OSPSuite.Core/Domain/Services/MoleculePropertiesContainerTask.cs @@ -20,7 +20,7 @@ internal interface IMoleculePropertiesContainerTask /// Creates the global molecule container for the molecule and add parameters with the build modes other than "Local" /// into the created molecule container /// - IContainer CreateGlobalMoleculeContainerFor(IContainer rootContainer, IMoleculeBuilder moleculeBuilder, SimulationBuilder simulationBuilder); + IContainer CreateGlobalMoleculeContainerFor(IContainer rootContainer, MoleculeBuilder moleculeBuilder, SimulationBuilder simulationBuilder); /// /// Returns (and creates if not already there) the sub container for the transport process named @@ -53,7 +53,7 @@ public IContainer NeighborhoodMoleculeContainerFor(Neighborhood neighborhood, st return moleculeContainer; } - public IContainer CreateGlobalMoleculeContainerFor(IContainer rootContainer, IMoleculeBuilder moleculeBuilder, SimulationBuilder simulationBuilder) + public IContainer CreateGlobalMoleculeContainerFor(IContainer rootContainer, MoleculeBuilder moleculeBuilder, SimulationBuilder simulationBuilder) { var globalMoleculeContainer = addContainerUnder(rootContainer, moleculeBuilder, moleculeBuilder.Name, simulationBuilder) .WithContainerType(ContainerType.Molecule); diff --git a/src/OSPSuite.Core/Domain/Services/MoleculeStartValuesCreator.cs b/src/OSPSuite.Core/Domain/Services/MoleculeStartValuesCreator.cs index e2bf8df2a..992ec66e5 100644 --- a/src/OSPSuite.Core/Domain/Services/MoleculeStartValuesCreator.cs +++ b/src/OSPSuite.Core/Domain/Services/MoleculeStartValuesCreator.cs @@ -7,7 +7,7 @@ namespace OSPSuite.Core.Domain.Services { public interface IMoleculeStartValuesCreator : IEmptyStartValueCreator { - MoleculeStartValuesBuildingBlock CreateFrom(ISpatialStructure spatialStructure, MoleculeBuildingBlock moleculeBuildingBlock); + MoleculeStartValuesBuildingBlock CreateFrom(SpatialStructure spatialStructure, MoleculeBuildingBlock moleculeBuildingBlock); /// /// Creates a molecule start value @@ -41,7 +41,7 @@ public MoleculeStartValuesCreator( _idGenerator = idGenerator; } - public MoleculeStartValuesBuildingBlock CreateFrom(ISpatialStructure spatialStructure, MoleculeBuildingBlock moleculeBuildingBlock) + public MoleculeStartValuesBuildingBlock CreateFrom(SpatialStructure spatialStructure, MoleculeBuildingBlock moleculeBuildingBlock) { var moleculesStartValues = _objectBaseFactory.Create(); moleculesStartValues.SpatialStructureId = spatialStructure.Id; @@ -54,7 +54,7 @@ public MoleculeStartValuesBuildingBlock CreateFrom(ISpatialStructure spatialStru return moleculesStartValues; } - private void addMoleculesFrom(MoleculeStartValuesBuildingBlock moleculesStartValuesBuildingBlock, IEntity container, IEnumerable molecules) + private void addMoleculesFrom(MoleculeStartValuesBuildingBlock moleculesStartValuesBuildingBlock, IEntity container, IEnumerable molecules) { foreach (var molecule in molecules) { @@ -71,7 +71,7 @@ private void setMoleculeStartValueFormula(IFormula formula, MoleculeStartValue m moleculeStartValue.Formula = _cloneManagerForBuildingBlock.Clone(formula, moleculesStartValues.FormulaCache); } - private static void setMoleculeStartValue(IMoleculeBuilder moleculeBuilder, MoleculeStartValue moleculeStartValue) + private static void setMoleculeStartValue(MoleculeBuilder moleculeBuilder, MoleculeStartValue moleculeStartValue) { moleculeStartValue.Value = moleculeBuilder.GetDefaultMoleculeStartValue(); } diff --git a/src/OSPSuite.Core/Domain/Services/ObjectIdResetter.cs b/src/OSPSuite.Core/Domain/Services/ObjectIdResetter.cs index 48d9e3049..3f341f78d 100644 --- a/src/OSPSuite.Core/Domain/Services/ObjectIdResetter.cs +++ b/src/OSPSuite.Core/Domain/Services/ObjectIdResetter.cs @@ -18,7 +18,7 @@ public interface IObjectIdResetter public class ObjectIdResetter : IObjectIdResetter, IVisitor, IVisitor, - IVisitor, + IVisitor, IVisitor { private readonly IIdGenerator _idGenerator; @@ -45,8 +45,9 @@ private void resetFormulaCache(object objectWithId) if (buildingBlock != null) resetFormulaCacheIn(buildingBlock); - var buildConfiguration = objectWithId as IBuildConfiguration; - buildConfiguration?.AllBuildingBlocks.Each(resetFormulaCacheIn); + //TODO WE SHOULD DO SOMETHING WITH MODULE HERE?!? + // var buildConfiguration = objectWithId as IBuildConfiguration; + // buildConfiguration?.AllBuildingBlocks.Each(resetFormulaCacheIn); } private void resetFormulaCacheIn(IBuildingBlock buildingBlock) @@ -61,7 +62,7 @@ public void Visit(IUsingFormula usingFormula) Visit(usingFormula.Formula); } - public void Visit(IMoleculeBuilder moleculeBuilder) + public void Visit(MoleculeBuilder moleculeBuilder) { if (moleculeBuilder == null) return; Visit(moleculeBuilder as IWithId); diff --git a/src/OSPSuite.Core/Domain/Services/ObserverBuilderTask.cs b/src/OSPSuite.Core/Domain/Services/ObserverBuilderTask.cs index 4948ae84f..c106c7fe0 100644 --- a/src/OSPSuite.Core/Domain/Services/ObserverBuilderTask.cs +++ b/src/OSPSuite.Core/Domain/Services/ObserverBuilderTask.cs @@ -47,11 +47,11 @@ public void CreateObservers(ModelConfiguration modelConfiguration) var presentMolecules = simulationBuilder.AllPresentMolecules().ToList(); try { - foreach (var observerBuilder in observers.OfType()) + foreach (var observerBuilder in observers.OfType()) createAmountObserver(observerBuilder, model, presentMolecules); - foreach (var observerBuilder in observers.OfType()) + foreach (var observerBuilder in observers.OfType()) createContainerObserver(observerBuilder, model, presentMolecules); } finally @@ -64,7 +64,7 @@ public void CreateObservers(ModelConfiguration modelConfiguration) /// /// Retrieves molecules for which the given observer can be created /// - private IEnumerable moleculeBuildersValidFor(MoleculeList moleculeList, IEnumerable allMolecules) + private IEnumerable moleculeBuildersValidFor(MoleculeList moleculeList, IEnumerable allMolecules) { if (moleculeList.ForAll) return allMolecules.Where(molecule => !moleculeList.MoleculeNamesToExclude.Contains(molecule.Name)); @@ -77,14 +77,14 @@ private IEnumerable moleculeBuildersValidFor(MoleculeList mole /// in the spatial structure of the model. /// Typical example: "Concentration"-Observer (M/V) /// - private void createAmountObserver(IAmountObserverBuilder observerBuilder, IModel model, IEnumerable presentMolecules) + private void createAmountObserver(AmountObserverBuilder observerBuilder, IModel model, IEnumerable presentMolecules) { var moleculeNamesForObserver = moleculeBuildersValidFor(observerBuilder.MoleculeList, presentMolecules) .Select(x => x.Name).ToList(); foreach (var container in _allContainerDescriptors.AllSatisfiedBy(observerBuilder.ContainerCriteria)) { - var amountsForObserver = container.GetChildren(ma => moleculeNamesForObserver.Contains(ma.Name)); + var amountsForObserver = container.GetChildren(ma => moleculeNamesForObserver.Contains(ma.Name)); foreach (var amount in amountsForObserver) { @@ -100,7 +100,7 @@ private void createAmountObserver(IAmountObserverBuilder observerBuilder, IModel /// of the model. /// Typical example is average drug concentration in an organ /// - private void createContainerObserver(IContainerObserverBuilder observerBuilder, IModel model, IEnumerable presentMolecules) + private void createContainerObserver(ContainerObserverBuilder observerBuilder, IModel model, IEnumerable presentMolecules) { var moleculeBuildersForObserver = moleculeBuildersValidFor(observerBuilder.MoleculeList, presentMolecules).ToList(); //retrieve a list here to avoid endless loop if observers criteria is not well defined @@ -123,7 +123,7 @@ private void createContainerObserver(IContainerObserverBuilder observerBuilder, } } - private IObserver addObserverInContainer(IObserverBuilder observerBuilder, IContainer observerContainer, QuantityType moleculeType) + private Observer addObserverInContainer(ObserverBuilder observerBuilder, IContainer observerContainer, QuantityType moleculeType) { var observer = _observerMapper.MapFrom(observerBuilder, _simulationBuilder); observer.QuantityType = QuantityType.Observer | moleculeType; diff --git a/src/OSPSuite.Core/Domain/Services/QuantityValuesUpdater.cs b/src/OSPSuite.Core/Domain/Services/QuantityValuesUpdater.cs index 49cc9ce4e..03809a346 100644 --- a/src/OSPSuite.Core/Domain/Services/QuantityValuesUpdater.cs +++ b/src/OSPSuite.Core/Domain/Services/QuantityValuesUpdater.cs @@ -154,7 +154,7 @@ private void updateMoleculeAmountFromMoleculeStartValues(ModelConfiguration mode if (container == null || container.Mode != ContainerMode.Physical) continue; - var molecule = container.EntityAt(moleculeStartValue.MoleculeName); + var molecule = container.EntityAt(moleculeStartValue.MoleculeName); if (molecule == null) throw new ArgumentException(Error.CouldNotFindMoleculeInContainer(moleculeStartValue.MoleculeName, moleculeStartValue.ContainerPath.PathAsString)); @@ -182,7 +182,7 @@ private void updateMoleculeAmountFromMoleculeStartValues(ModelConfiguration mode /// The can be changed since this is suppose to be a clone of the /// original molecule start value /// - private void updateMoleculeAmountFormula(IMoleculeAmount molecule, IFormula moleculeFormulaToUse) + private void updateMoleculeAmountFormula(MoleculeAmount molecule, IFormula moleculeFormulaToUse) { if (moleculeFormulaToUse.IsAmountBased()) { @@ -204,7 +204,7 @@ private IFormula createConstantFormula(MoleculeStartValue moleculeStartValue) return _formulaFactory.ConstantFormula(moleculeStartValue.Value.Value, moleculeStartValue.Dimension); } - private bool startValueShouldBeSetAsConstantFormula(MoleculeStartValue moleculeStartValue, IMoleculeAmount molecule) + private bool startValueShouldBeSetAsConstantFormula(MoleculeStartValue moleculeStartValue, MoleculeAmount molecule) { if (!moleculeStartValue.Value.HasValue) return false; diff --git a/src/OSPSuite.Core/Domain/Services/ReactionCreator.cs b/src/OSPSuite.Core/Domain/Services/ReactionCreator.cs index 7d981176d..2267f3ae8 100644 --- a/src/OSPSuite.Core/Domain/Services/ReactionCreator.cs +++ b/src/OSPSuite.Core/Domain/Services/ReactionCreator.cs @@ -9,7 +9,7 @@ namespace OSPSuite.Core.Domain.Services { internal interface IReactionCreator { - bool CreateReaction(IReactionBuilder reactionBuilder, ModelConfiguration modelConfiguration); + bool CreateReaction(ReactionBuilder reactionBuilder, ModelConfiguration modelConfiguration); } internal class ReactionCreator : IReactionCreator, IVisitor @@ -21,7 +21,7 @@ internal class ReactionCreator : IReactionCreator, IVisitor private IModel _model; private bool _createdInstance; private SimulationBuilder _simulationBuilder; - private IReactionBuilder _reactionBuilder; + private ReactionBuilder _reactionBuilder; public ReactionCreator(IReactionBuilderToReactionMapper reactionMapper, IKeywordReplacerTask keywordReplacerTask, IContainerTask containerTask, @@ -33,7 +33,7 @@ public ReactionCreator(IReactionBuilderToReactionMapper reactionMapper, IKeyword _parameterMapper = parameterMapper; } - public bool CreateReaction(IReactionBuilder reactionBuilder, ModelConfiguration modelConfiguration) + public bool CreateReaction(ReactionBuilder reactionBuilder, ModelConfiguration modelConfiguration) { _reactionBuilder = reactionBuilder; (_model, _simulationBuilder) = modelConfiguration; @@ -83,7 +83,7 @@ public void Visit(IContainer container) private bool canCreateReactionIn(IContainer container) { - var allMoleculeNames = container.GetChildren().Select(x => x.Name).ToList(); + var allMoleculeNames = container.GetChildren().Select(x => x.Name).ToList(); return container.Mode == ContainerMode.Physical && allMoleculeNames.ContainsAll(_reactionBuilder.Educts.Select(x => x.MoleculeName)) diff --git a/src/OSPSuite.Core/Domain/Services/ReferencesResolver.cs b/src/OSPSuite.Core/Domain/Services/ReferencesResolver.cs index abac4bc8d..6c2b30563 100644 --- a/src/OSPSuite.Core/Domain/Services/ReferencesResolver.cs +++ b/src/OSPSuite.Core/Domain/Services/ReferencesResolver.cs @@ -27,7 +27,7 @@ private void resolveReferences(IEnumerable entityUsingFormulas) { usingFormula.Formula.ResolveObjectPathsFor(usingFormula); resolveReferenceFor(usingFormula as IParameter); - resolveReferenceFor(usingFormula as IEventAssignment); + resolveReferenceFor(usingFormula as EventAssignment); } } @@ -36,7 +36,7 @@ private void resolveReferenceFor(IParameter parameter) parameter?.RHSFormula?.ResolveObjectPathsFor(parameter); } - private void resolveReferenceFor(IEventAssignment eventAssignment) + private void resolveReferenceFor(EventAssignment eventAssignment) { eventAssignment?.ResolveChangedEntity(); } diff --git a/src/OSPSuite.Core/Domain/Services/ScaleDivisorCalculator.cs b/src/OSPSuite.Core/Domain/Services/ScaleDivisorCalculator.cs index 2bc99ef5c..768800a53 100644 --- a/src/OSPSuite.Core/Domain/Services/ScaleDivisorCalculator.cs +++ b/src/OSPSuite.Core/Domain/Services/ScaleDivisorCalculator.cs @@ -45,41 +45,41 @@ public ScaleDivisorOptions() public interface IScaleDivisorCalculator { /// - /// Calculates the scale divisior for all defined in the . + /// Calculates the scale divisor for all defined in the . /// /// /// We have to keep in mind that the simulation may not contain results for all quantities defined in the model. Hence /// the following strategy is implemented: /// 1 - Run the simulation and save up the results for all defined in the simulation - /// 2 - Calculate the scale divisiors + /// 2 - Calculate the scale divisors /// 3 - Set the previous results and output selection back to original /// - /// Simulation for which the scale divisior should be calculated - /// Options used to compute the scale divisiors - /// A collection of all scale divisiors + /// Simulation for which the scale divisor should be calculated + /// Options used to compute the scale divisors + /// A collection of all scale divisors Task> CalculateScaleDivisorsAsync(IModelCoreSimulation simulation, ScaleDivisorOptions scaleDivisorOptions); /// - /// Calculates the scale divisior for the defined in the + /// Calculates the scale divisor for the defined in the /// . /// /// /// We have to keep in mind that the simulation may not contain results for all quantities defined in the model. Hence /// the following strategy is implemented: /// 1 - Run the simulation and save up the results for all defined in the simulation - /// 2 - Calculate the scale divisiors + /// 2 - Calculate the scale divisors /// 3 - Set the previous results and output selection back to original /// - /// Simulation for which the scale divisior should be calculated - /// Options used to compute the scale divisiors + /// Simulation for which the scale divisor should be calculated + /// Options used to compute the scale divisors /// - /// A collection of all scale divisiors - Task> CalculateScaleDivisorsAsync(IModelCoreSimulation simulation, ScaleDivisorOptions scaleDivisorOptions, PathCache allMoleculeAmounts); + /// A collection of all scale divisors + Task> CalculateScaleDivisorsAsync(IModelCoreSimulation simulation, ScaleDivisorOptions scaleDivisorOptions, PathCache allMoleculeAmounts); /// /// Resets the scale divisors for the to 1 /// - IReadOnlyCollection ResetScaleDivisors(PathCache allMoleculeAmounts); + IReadOnlyCollection ResetScaleDivisors(PathCache allMoleculeAmounts); } public class ScaleDivisorCalculator : IScaleDivisorCalculator @@ -87,7 +87,7 @@ public class ScaleDivisorCalculator : IScaleDivisorCalculator private readonly ISimModelManager _simModelManager; private readonly IContainerTask _containerTask; private readonly IObjectPathFactory _objectPathFactory; - private PathCache _allMoleculeAmounts; + private PathCache _allMoleculeAmounts; private ScaleDivisorOptions _scaleDivisorOptions; private string _simulationName; @@ -100,10 +100,10 @@ public ScaleDivisorCalculator(ISimModelManager simModelManager, IContainerTask c public async Task> CalculateScaleDivisorsAsync(IModelCoreSimulation simulation, ScaleDivisorOptions scaleDivisorOptions) { - return await CalculateScaleDivisorsAsync(simulation, scaleDivisorOptions, _containerTask.CacheAllChildren(simulation.Model.Root)); + return await CalculateScaleDivisorsAsync(simulation, scaleDivisorOptions, _containerTask.CacheAllChildren(simulation.Model.Root)); } - public async Task> CalculateScaleDivisorsAsync(IModelCoreSimulation simulation, ScaleDivisorOptions scaleDivisorOptions, PathCache allMoleculeAmounts) + public async Task> CalculateScaleDivisorsAsync(IModelCoreSimulation simulation, ScaleDivisorOptions scaleDivisorOptions, PathCache allMoleculeAmounts) { _simulationName = simulation.Name; var previousSelections = outputSelectionsFor(simulation); @@ -129,7 +129,7 @@ public async Task> CalculateScaleDivisorsAsync } } - public IReadOnlyCollection ResetScaleDivisors(PathCache allMoleculeAmounts) + public IReadOnlyCollection ResetScaleDivisors(PathCache allMoleculeAmounts) { return allMoleculeAmounts.Keys .Select(x => new ScaleDivisor {QuantityPath = x, Value = 1}) diff --git a/src/OSPSuite.Core/Domain/Services/SimulationConfigurationValidator.cs b/src/OSPSuite.Core/Domain/Services/SimulationConfigurationValidator.cs index c3b82b522..adc0082e7 100644 --- a/src/OSPSuite.Core/Domain/Services/SimulationConfigurationValidator.cs +++ b/src/OSPSuite.Core/Domain/Services/SimulationConfigurationValidator.cs @@ -33,7 +33,7 @@ private void validateModule(Module module, ValidationResult validationResult) module.ParameterStartValuesCollection.Each(cm => validateBuildingBlockWithFormulaCache(cm, validationResult)); } - private void validateEventGroupBuildingBlock(IEventGroupBuildingBlock eventGroups, MoleculeBuildingBlock moleculeBuildingBlock, ValidationResult validationResult) + private void validateEventGroupBuildingBlock(EventGroupBuildingBlock eventGroups, MoleculeBuildingBlock moleculeBuildingBlock, ValidationResult validationResult) { if (eventGroups == null || moleculeBuildingBlock == null) return; @@ -41,7 +41,7 @@ private void validateEventGroupBuildingBlock(IEventGroupBuildingBlock eventGroup var allMolecules = moleculeBuildingBlock.Select(mb => mb.Name); foreach (var eventGroup in eventGroups) { - var applicationBuilders = eventGroup.GetAllContainersAndSelf(); + var applicationBuilders = eventGroup.GetAllContainersAndSelf(); foreach (var applicationBuilder in applicationBuilders.Where(applicationBuilder => !allMolecules.Contains(applicationBuilder.MoleculeName))) { validationResult.AddMessage(NotificationType.Error, applicationBuilder, Validation.ApplicatedMoleculeNotPresent(applicationBuilder.MoleculeName, applicationBuilder.Name, moleculeBuildingBlock.Name), eventGroups); diff --git a/src/OSPSuite.Core/Domain/Services/TransportCreator.cs b/src/OSPSuite.Core/Domain/Services/TransportCreator.cs index 09bee6ed7..b80f21996 100644 --- a/src/OSPSuite.Core/Domain/Services/TransportCreator.cs +++ b/src/OSPSuite.Core/Domain/Services/TransportCreator.cs @@ -10,7 +10,7 @@ namespace OSPSuite.Core.Domain.Services { internal interface ITransportCreator { - void CreatePassiveTransport(ITransportBuilder passiveTransportBuilder, ModelConfiguration modelConfiguration); + void CreatePassiveTransport(TransportBuilder passiveTransportBuilder, ModelConfiguration modelConfiguration); void CreateActiveTransport(ModelConfiguration modelConfiguration); } @@ -28,7 +28,7 @@ public TransportCreator(ITransportBuilderToTransportMapper transportMapper, IKey _moleculePropertiesContainerTask = moleculePropertiesContainerTask; } - public void CreatePassiveTransport(ITransportBuilder passiveTransportBuilder, ModelConfiguration modelConfiguration) + public void CreatePassiveTransport(TransportBuilder passiveTransportBuilder, ModelConfiguration modelConfiguration) { var (model, simulationConfiguration) = modelConfiguration; var allNeighborhoods = model.Neighborhoods.GetChildren().ToList(); @@ -60,8 +60,8 @@ public void CreateActiveTransport(ModelConfiguration modelConfiguration) } } - private void addPassiveTransportToModel(ITransportBuilder passiveTransportBuilder, IEnumerable allNeighborhoods, - IMoleculeBuilder molecule, ModelConfiguration modelConfiguration) + private void addPassiveTransportToModel(TransportBuilder passiveTransportBuilder, IEnumerable allNeighborhoods, + MoleculeBuilder molecule, ModelConfiguration modelConfiguration) { var (model, simulationBuilder) = modelConfiguration; // first check if the molecule should be transported @@ -78,8 +78,8 @@ private void addPassiveTransportToModel(ITransportBuilder passiveTransportBuilde } } - private void addActiveTransportToModel(ITransportBuilder activeTransportBuilder, IEnumerable allNeighborhoods, - IMoleculeBuilder molecule, TransporterMoleculeContainer transporterMolecule, ModelConfiguration modelConfiguration) + private void addActiveTransportToModel(TransportBuilder activeTransportBuilder, IEnumerable allNeighborhoods, + MoleculeBuilder molecule, TransporterMoleculeContainer transporterMolecule, ModelConfiguration modelConfiguration) { var (model, simulationConfiguration) = modelConfiguration; var neighborhoods = getNeighborhoodsForActiveTransport(activeTransportBuilder, allNeighborhoods, molecule.Name, transporterMolecule.Name); @@ -96,7 +96,7 @@ private void addActiveTransportToModel(ITransportBuilder activeTransportBuilder, } } - private IEnumerable getNeighborhoodsForActiveTransport(ITransportBuilder transport, IEnumerable allNeighborhoods, + private IEnumerable getNeighborhoodsForActiveTransport(TransportBuilder transport, IEnumerable allNeighborhoods, string moleculeName, string transporterName) { try @@ -104,8 +104,8 @@ private IEnumerable getNeighborhoodsForActiveTransport(ITransportB //Transporter can either be defined in source or target container. Therefore we need to check that at least ONE neighbor has a transporter instance return getNeighborhoodsByNeighborCriteria(allNeighborhoods, transport.SourceCriteria, transport.TargetCriteria, moleculeName) .Where(x => - x.GetNeighborSatisfying(transport.SourceCriteria).GetSingleChildByName(transporterName) != null || - x.GetNeighborSatisfying(transport.TargetCriteria).GetSingleChildByName(transporterName) != null) + x.GetNeighborSatisfying(transport.SourceCriteria).GetSingleChildByName(transporterName) != null || + x.GetNeighborSatisfying(transport.TargetCriteria).GetSingleChildByName(transporterName) != null) .ToList(); } catch (BothNeighborsSatisfyingCriteriaException exception) @@ -114,7 +114,7 @@ private IEnumerable getNeighborhoodsForActiveTransport(ITransportB } } - private IEnumerable getNeighborhoodsForPassiveTransport(ITransportBuilder passiveTransportBuilder, + private IEnumerable getNeighborhoodsForPassiveTransport(TransportBuilder passiveTransportBuilder, IEnumerable allNeighborhoods, string moleculeName) { return getNeighborhoodsByNeighborCriteria(allNeighborhoods, passiveTransportBuilder.SourceCriteria, passiveTransportBuilder.TargetCriteria, @@ -139,13 +139,13 @@ where neighborhood.SecondNeighbor.ContainsNames(moleculeNames) select neighborhood; } - private IContainer addPassiveTransportToNeighborhood(Neighborhood neighborhood, string moleculeName, ITransport transport) + private IContainer addPassiveTransportToNeighborhood(Neighborhood neighborhood, string moleculeName, Transport transport) { return _moleculePropertiesContainerTask.NeighborhoodMoleculeContainerFor(neighborhood, moleculeName) .WithChild(transport); } - private IContainer addActiveTransportToNeighborhood(Neighborhood neighborhood, ITransport transport, + private IContainer addActiveTransportToNeighborhood(Neighborhood neighborhood, Transport transport, TransporterMoleculeContainer transporterMolecule, string transportedMoleculeName, SimulationBuilder simulationBuilder) { return _moleculePropertiesContainerTask.NeighborhoodMoleculeTransportContainerFor(neighborhood, transportedMoleculeName, transporterMolecule, @@ -153,14 +153,14 @@ private IContainer addActiveTransportToNeighborhood(Neighborhood neighborhood, I .WithChild(transport); } - private ITransport mapFrom(ITransportBuilder transportBuilder, Neighborhood neighborhood, string moleculeName, + private Transport mapFrom(TransportBuilder transportBuilder, Neighborhood neighborhood, string moleculeName, SimulationBuilder simulationBuilder) { var transport = _transportMapper.MapFrom(transportBuilder, simulationBuilder); transport.SourceAmount = neighborhood.GetNeighborSatisfying(transportBuilder.SourceCriteria) - .GetSingleChildByName(moleculeName); + .GetSingleChildByName(moleculeName); transport.TargetAmount = neighborhood.GetNeighborSatisfying(transportBuilder.TargetCriteria) - .GetSingleChildByName(moleculeName); + .GetSingleChildByName(moleculeName); return transport; } } diff --git a/src/OSPSuite.Core/Domain/Transport.cs b/src/OSPSuite.Core/Domain/Transport.cs index 66ccaa540..5b1af2e3b 100644 --- a/src/OSPSuite.Core/Domain/Transport.cs +++ b/src/OSPSuite.Core/Domain/Transport.cs @@ -2,23 +2,17 @@ namespace OSPSuite.Core.Domain { - public interface ITransport : IProcess + public class Transport : Process { - IMoleculeAmount SourceAmount { get; set; } - IMoleculeAmount TargetAmount { get; set; } - } - - public class Transport : Process, ITransport - { - public IMoleculeAmount SourceAmount { get; set; } - public IMoleculeAmount TargetAmount { get; set; } + public MoleculeAmount SourceAmount { get; set; } + public MoleculeAmount TargetAmount { get; set; } public Transport() { ContainerType = ContainerType.Transport; } - public override bool Uses(IMoleculeAmount amount) + public override bool Uses(MoleculeAmount amount) { return Equals(SourceAmount, amount) || Equals(TargetAmount, amount); } @@ -27,7 +21,7 @@ public override void UpdatePropertiesFrom(IUpdatable source, ICloneManager clone { base.UpdatePropertiesFrom(source, cloneManager); - var srcTransport = source as ITransport; + var srcTransport = source as Transport; if (srcTransport == null) return; //Source/Target molecule amount should NOT be cloned diff --git a/src/OSPSuite.Core/Serialization/SimModel/Services/SimulationExportCreator.cs b/src/OSPSuite.Core/Serialization/SimModel/Services/SimulationExportCreator.cs index b98e8c6e2..a7e50a411 100644 --- a/src/OSPSuite.Core/Serialization/SimModel/Services/SimulationExportCreator.cs +++ b/src/OSPSuite.Core/Serialization/SimModel/Services/SimulationExportCreator.cs @@ -23,12 +23,12 @@ public interface ISimulationExportCreator } public class SimulationExportCreator : - IVisitor, - IVisitor, + IVisitor, + IVisitor, IVisitor, - IVisitor, - IVisitor, - IVisitor, + IVisitor, + IVisitor, + IVisitor, ISimulationExportCreator { private readonly IObjectPathFactory _objectPathFactory; @@ -74,7 +74,7 @@ public SimulationExport CreateExportFor(IModel model, SimModelExportMode exportM } } - public void Visit(IObserver observer) + public void Visit(Observer observer) { var observerExport = new QuantityExport(); mapQuantity(observer, observerExport); @@ -101,7 +101,7 @@ private void createRHSForParameter(IParameter parameter) createRHS(parameter, parameter, parameter.RHSFormula, mapFormula); } - private void createRHSforAmount(IProcess process, IMoleculeAmount moleculeAmount, double stoichiometricCoefficient) + private void createRHSforAmount(IProcess process, MoleculeAmount moleculeAmount, double stoichiometricCoefficient) { createVariableExport(moleculeAmount); @@ -112,7 +112,7 @@ private void createRHSforAmount(IProcess process, IMoleculeAmount moleculeAmount rhsExport.Equation = stoichiometricCoefficient == -1.0 ? $"-({rhsExport.Equation})" : $"{stoichiometricCoefficient}*({rhsExport.Equation})"; } - private ExplicitFormulaExport createProcessRHS(IMoleculeAmount moleculeAmount, IProcess process) + private ExplicitFormulaExport createProcessRHS(MoleculeAmount moleculeAmount, IProcess process) { return createRHS(moleculeAmount, process, process.Formula, (p, f) => mapProcessFormula(process)); } @@ -142,7 +142,7 @@ private void createParameterExport(IQuantity quantity, bool canBeVaried) _modelExport.ParameterList.Add(paraExport.Id, paraExport); } - public void Visit(IMoleculeAmount moleculeAmount) + public void Visit(MoleculeAmount moleculeAmount) { if (canBeExportedAsParameter(moleculeAmount)) createParameterExport(moleculeAmount, canBeVaried: false); @@ -150,7 +150,7 @@ public void Visit(IMoleculeAmount moleculeAmount) createVariableExport(moleculeAmount); } - private bool canBeExportedAsParameter(IMoleculeAmount moleculeAmount) + private bool canBeExportedAsParameter(MoleculeAmount moleculeAmount) { if (isMoleculeInVariableMoleculePathsList(moleculeAmount) || isSystemVariable(moleculeAmount)) return false; @@ -158,12 +158,12 @@ private bool canBeExportedAsParameter(IMoleculeAmount moleculeAmount) return !_allProcesses.Any(x => x.Uses(moleculeAmount)); } - private bool isMoleculeInVariableMoleculePathsList(IMoleculeAmount moleculeAmount) + private bool isMoleculeInVariableMoleculePathsList(MoleculeAmount moleculeAmount) { return _variableMoleculePaths.Contains(_entityPathResolver.PathFor(moleculeAmount)); } - private void createVariableExport(IMoleculeAmount moleculeAmount) + private void createVariableExport(MoleculeAmount moleculeAmount) { createVariableExport(moleculeAmount, moleculeAmount.ScaleDivisor); } @@ -192,13 +192,13 @@ private bool isSystemVariable(IObjectBase objectBase) return _modelExport.VariableList.Contains(idFor(objectBase)); } - public void Visit(ITransport transport) + public void Visit(Transport transport) { createRHSforAmount(transport, transport.SourceAmount, -1); createRHSforAmount(transport, transport.TargetAmount, 1); } - public void Visit(IReaction reaction) + public void Visit(Reaction reaction) { foreach (var reactionPartner in reaction.Educts) { @@ -215,7 +215,7 @@ public void Visit(IReaction reaction) /// Visit the specified object. /// /// The object to visit. - public void Visit(IEvent eventToVisit) + public void Visit(Event eventToVisit) { var eventExport = new EventExport { @@ -228,13 +228,13 @@ public void Visit(IEvent eventToVisit) foreach (var assignment in eventToVisit.Assignments) { var alternateFormula = assignment.Formula; - var assigmentExport = new AssignmentExport + var assignmentExport = new AssignmentExport { ObjectId = idFor(assignment.ChangedEntity), NewFormulaId = mapFormula(assignment, alternateFormula).Id, UseAsValue = assignment.UseAsValue }; - eventExport.AssignmentList.Add(assigmentExport); + eventExport.AssignmentList.Add(assignmentExport); } _modelExport.EventList.Add(eventExport); diff --git a/src/OSPSuite.Core/Serialization/Xml/BuildConfigurationXmlSerializer.cs b/src/OSPSuite.Core/Serialization/Xml/BuildConfigurationXmlSerializer.cs deleted file mode 100644 index 18a0da57b..000000000 --- a/src/OSPSuite.Core/Serialization/Xml/BuildConfigurationXmlSerializer.cs +++ /dev/null @@ -1,33 +0,0 @@ -using OSPSuite.Core.Domain.Builder; - -namespace OSPSuite.Core.Serialization.Xml -{ - public abstract class BuildConfigurationXmlSerializer : OSPSuiteXmlSerializer where T : IBuildConfiguration - { - protected BuildConfigurationXmlSerializer() - { - } - - protected BuildConfigurationXmlSerializer(string name) : base(name) - { - } - - public override void PerformMapping() - { - Map(x => x.Molecules); - Map(x => x.Observers); - Map(x => x.EventGroups); - Map(x => x.PassiveTransports); - Map(x => x.Reactions); - Map(x => x.SpatialStructure); - Map(x => x.ParameterStartValues); - Map(x => x.MoleculeStartValues); - Map(x => x.SimulationSettings); - MapEnumerable(x => x.AllCalculationMethods(), x => x.AddCalculationMethod); - } - } - - public class BuildConfigurationXmlSerializer : BuildConfigurationXmlSerializer - { - } -} \ No newline at end of file diff --git a/src/OSPSuite.Core/Serialization/Xml/BuildingBlockXmlSerializer.cs b/src/OSPSuite.Core/Serialization/Xml/BuildingBlockXmlSerializer.cs index 05a87843c..1a10e0a11 100644 --- a/src/OSPSuite.Core/Serialization/Xml/BuildingBlockXmlSerializer.cs +++ b/src/OSPSuite.Core/Serialization/Xml/BuildingBlockXmlSerializer.cs @@ -62,7 +62,7 @@ public override void PerformMapping() } //do not user the generic builder since enumeration returns all containers - public abstract class SpatialStructureXmlSerializerBase : BuildingBlockXmlSerializer where T : class, ISpatialStructure + public abstract class SpatialStructureXmlSerializerBase : BuildingBlockXmlSerializer where T : SpatialStructure { protected SpatialStructureXmlSerializerBase(string name) : base(name) @@ -90,7 +90,6 @@ public abstract class StartValuesBuildingBlockXmlSerializer where TStartValue : class, IStartValue { - } public class PathAndValueEntityBuildingBlockFromPKSimXmlSerializer : BuildingBlockXmlSerializer where TBuilder : PathAndValueEntity where TBuildingBlock : PathAndValueEntityBuildingBlockFromPKSim @@ -134,19 +133,19 @@ public class ParameterStartValuesBuildingBlockXmlSerializer : StartValuesBuildin { } - public class MoleculeBuildingBlockXmlSerializer : BuildingBlockXmlSerializer + public class MoleculeBuildingBlockXmlSerializer : BuildingBlockXmlSerializer { } - public class ObserverBuildingBlockXmlSerializer : BuildingBlockXmlSerializer + public class ObserverBuildingBlockXmlSerializer : BuildingBlockXmlSerializer { } - public class PassiveTransportBuildingBlockXmlSerializer : BuildingBlockXmlSerializer + public class PassiveTransportBuildingBlockXmlSerializer : BuildingBlockXmlSerializer { } - public abstract class ReactionBuildingBlockXmlSerializerBase : BuildingBlockXmlSerializer where T : class, IReactionBuildingBlock + public abstract class ReactionBuildingBlockXmlSerializerBase : BuildingBlockXmlSerializer where T : ReactionBuildingBlock { protected ReactionBuildingBlockXmlSerializerBase() { @@ -162,7 +161,7 @@ public class ReactionBuildingBlockXmlSerializer : ReactionBuildingBlockXmlSerial { } - public class EventGroupBuildingBlockXmlSerializer : BuildingBlockXmlSerializer + public class EventGroupBuildingBlockXmlSerializer : BuildingBlockXmlSerializer { } } \ No newline at end of file diff --git a/src/OSPSuite.Core/Serialization/Xml/EventBuilderXmlSerializer.cs b/src/OSPSuite.Core/Serialization/Xml/EventBuilderXmlSerializer.cs index f42215a27..a50c247b7 100644 --- a/src/OSPSuite.Core/Serialization/Xml/EventBuilderXmlSerializer.cs +++ b/src/OSPSuite.Core/Serialization/Xml/EventBuilderXmlSerializer.cs @@ -27,7 +27,7 @@ public override void PerformMapping() } } - public class EventGroupBuilderBaseXmlSerializer : ContainerXmlSerializer where T : IEventGroupBuilder + public class EventGroupBuilderBaseXmlSerializer : ContainerXmlSerializer where T : EventGroupBuilder { public override void PerformMapping() { diff --git a/src/OSPSuite.Core/Serialization/Xml/MoleculeBuilderXmlSerializer.cs b/src/OSPSuite.Core/Serialization/Xml/MoleculeBuilderXmlSerializer.cs index b7555471b..807bdb986 100644 --- a/src/OSPSuite.Core/Serialization/Xml/MoleculeBuilderXmlSerializer.cs +++ b/src/OSPSuite.Core/Serialization/Xml/MoleculeBuilderXmlSerializer.cs @@ -6,7 +6,7 @@ namespace OSPSuite.Core.Serialization.Xml { - public class MoleculeBuilderXmlSerializer : ContainerXmlSerializer where T : class, IMoleculeBuilder + public class MoleculeBuilderXmlSerializer : ContainerXmlSerializer where T : MoleculeBuilder { public override void PerformMapping() { diff --git a/src/OSPSuite.Core/Serialization/Xml/ObserverBuilderXmlSerializer.cs b/src/OSPSuite.Core/Serialization/Xml/ObserverBuilderXmlSerializer.cs index c40240d7b..7ba6c4682 100644 --- a/src/OSPSuite.Core/Serialization/Xml/ObserverBuilderXmlSerializer.cs +++ b/src/OSPSuite.Core/Serialization/Xml/ObserverBuilderXmlSerializer.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Serialization.Xml { - public class ObserverBuilderXmlSerializer : EntityXmlSerializer where T : class, IObserverBuilder + public class ObserverBuilderXmlSerializer : EntityXmlSerializer where T : ObserverBuilder { public override void PerformMapping() { diff --git a/src/OSPSuite.Core/Serialization/Xml/PKMLPersistor.cs b/src/OSPSuite.Core/Serialization/Xml/PKMLPersistor.cs index ea1375b5a..22258c211 100644 --- a/src/OSPSuite.Core/Serialization/Xml/PKMLPersistor.cs +++ b/src/OSPSuite.Core/Serialization/Xml/PKMLPersistor.cs @@ -137,7 +137,7 @@ private void resolveReferenceIfRequired(T loadedObject) case SimulationTransfer simulationTransfer: resolveReferenceIfRequired(simulationTransfer.Simulation); break; - case ISpatialStructure spatialStructure: + case SpatialStructure spatialStructure: spatialStructure.ResolveReferencesInNeighborhoods(); break; default: diff --git a/src/OSPSuite.Core/Serialization/Xml/ProcessBuilderXmlSerializer.cs b/src/OSPSuite.Core/Serialization/Xml/ProcessBuilderXmlSerializer.cs index e3a3f6892..df138eab5 100644 --- a/src/OSPSuite.Core/Serialization/Xml/ProcessBuilderXmlSerializer.cs +++ b/src/OSPSuite.Core/Serialization/Xml/ProcessBuilderXmlSerializer.cs @@ -2,7 +2,7 @@ namespace OSPSuite.Core.Serialization.Xml { - public class ProcessBuilderXmlSerializer : ContainerXmlSerializer where T : class, IProcessBuilder + public class ProcessBuilderXmlSerializer : ContainerXmlSerializer where T : ProcessBuilder { public override void PerformMapping() { @@ -26,7 +26,7 @@ public override void PerformMapping() } } - public class TranportBuilderXmlSerializer : ProcessBuilderXmlSerializer + public class TransportBuilderXmlSerializer : ProcessBuilderXmlSerializer { public override void PerformMapping() { diff --git a/src/OSPSuite.Core/Services/RelatedItemTypeRetriever.cs b/src/OSPSuite.Core/Services/RelatedItemTypeRetriever.cs index d15e36c4e..764a9e26d 100644 --- a/src/OSPSuite.Core/Services/RelatedItemTypeRetriever.cs +++ b/src/OSPSuite.Core/Services/RelatedItemTypeRetriever.cs @@ -41,10 +41,10 @@ private static bool isStartValueBuildingBlock(T relatedObject) where T : clas private static bool shouldPluralize(T relatedObject) where T : class { return relatedObject.IsAnImplementationOf() || - relatedObject.IsAnImplementationOf() || - relatedObject.IsAnImplementationOf() || - relatedObject.IsAnImplementationOf() || - relatedObject.IsAnImplementationOf(); + relatedObject.IsAnImplementationOf() || + relatedObject.IsAnImplementationOf() || + relatedObject.IsAnImplementationOf() || + relatedObject.IsAnImplementationOf(); } } } \ No newline at end of file diff --git a/src/OSPSuite.Infrastructure.Reporting/TeXBuilder/ObserverBuilderTeXBuilder.cs b/src/OSPSuite.Infrastructure.Reporting/TeXBuilder/ObserverBuilderTeXBuilder.cs index 0348c81a0..81a98a2ff 100644 --- a/src/OSPSuite.Infrastructure.Reporting/TeXBuilder/ObserverBuilderTeXBuilder.cs +++ b/src/OSPSuite.Infrastructure.Reporting/TeXBuilder/ObserverBuilderTeXBuilder.cs @@ -7,7 +7,7 @@ namespace OSPSuite.Infrastructure.Reporting.TeXBuilder { - class ObserverBuilderTeXBuilder : OSPSuiteTeXBuilder + class ObserverBuilderTeXBuilder : OSPSuiteTeXBuilder { private readonly ITeXBuilderRepository _builderRepository; private const string PROPERTY_PROMPT_FORMAT = "{0}: {1}\n"; @@ -24,7 +24,7 @@ public ObserverBuilderTeXBuilder(ITeXBuilderRepository builderRepository) _builderRepository = builderRepository; } - public override void Build(IObserverBuilder observerBuilder, OSPSuiteTracker buildTracker) + public override void Build(ObserverBuilder observerBuilder, OSPSuiteTracker buildTracker) { var listToReport = new List(); listToReport.AddRange(this.ReportDescription(observerBuilder, buildTracker)); diff --git a/src/OSPSuite.Presentation/Mappers/DiffItemToDiffItemDTOMapper.cs b/src/OSPSuite.Presentation/Mappers/DiffItemToDiffItemDTOMapper.cs index 69fdb7272..5b9e6f049 100644 --- a/src/OSPSuite.Presentation/Mappers/DiffItemToDiffItemDTOMapper.cs +++ b/src/OSPSuite.Presentation/Mappers/DiffItemToDiffItemDTOMapper.cs @@ -101,8 +101,8 @@ private string objectNameFrom(DiffItem diffItem) { return displayIf(diffItem, x => ancestorDisplayName(diffItem)) ?? - displayIf(diffItem, x => x.Partner.Name) ?? - displayIf(diffItem, x => x.MoleculeName) ?? + displayIf(diffItem, x => x.Partner.Name) ?? + displayIf(diffItem, x => x.MoleculeName) ?? displayIf(diffItem, x => x.Category) ?? displayIf(diffItem, x => displayNameFor(new Category { Name = x.Category })) ?? displayIf(diffItem, x => ancestorDisplayName(diffItem)) ?? diff --git a/src/OSPSuite.R/Domain/Simulation.cs b/src/OSPSuite.R/Domain/Simulation.cs index cd02ec280..bf8640f08 100644 --- a/src/OSPSuite.R/Domain/Simulation.cs +++ b/src/OSPSuite.R/Domain/Simulation.cs @@ -116,7 +116,7 @@ public SimulationConfiguration Configuration set => CoreSimulation.Configuration = value; } - public IReadOnlyCollection Reactions => CoreSimulation.Reactions; + public IReadOnlyList Reactions => CoreSimulation.Reactions; public IReadOnlyList CompoundNames => CoreSimulation.CompoundNames; diff --git a/src/OSPSuite.R/Services/ContainerTask.cs b/src/OSPSuite.R/Services/ContainerTask.cs index 7f32ebf65..2b3c9726d 100644 --- a/src/OSPSuite.R/Services/ContainerTask.cs +++ b/src/OSPSuite.R/Services/ContainerTask.cs @@ -20,7 +20,7 @@ public interface IContainerTask IParameter[] AllParametersMatching(IModelCoreSimulation simulation, string path); IContainer[] AllContainersMatching(IModelCoreSimulation simulation, string path); IQuantity[] AllQuantitiesMatching(IModelCoreSimulation simulation, string path); - IMoleculeAmount[] AllMoleculesMatching(IModelCoreSimulation simulation, string path); + MoleculeAmount[] AllMoleculesMatching(IModelCoreSimulation simulation, string path); /// /// Returns all parameter matching that could meaningfully be used in a SA analysis. @@ -31,7 +31,7 @@ public interface IContainerTask IParameter[] AllParametersMatching(IContainer container, string path); IContainer[] AllContainersMatching(IContainer container, string path); IQuantity[] AllQuantitiesMatching(IContainer container, string path); - IMoleculeAmount[] AllMoleculesMatching(IContainer container, string path); + MoleculeAmount[] AllMoleculesMatching(IContainer container, string path); string[] AllQuantityPathsIn(IContainer container); string[] AllContainerPathsIn(IContainer container); @@ -125,7 +125,7 @@ public IContainer[] AllContainersMatching(IModelCoreSimulation simulation, strin public IQuantity[] AllQuantitiesMatching(IModelCoreSimulation simulation, string path) => AllQuantitiesMatching(simulation?.Model?.Root, path); - public IMoleculeAmount[] AllMoleculesMatching(IModelCoreSimulation simulation, string path) => + public MoleculeAmount[] AllMoleculesMatching(IModelCoreSimulation simulation, string path) => AllMoleculesMatching(simulation?.Model?.Root, path); public IParameter[] AllParametersForSensitivityAnalysisMatching(ISimulation simulation, string path) @@ -145,14 +145,14 @@ public IParameter[] AllParametersMatching(IContainer container, string path) => public IQuantity[] AllQuantitiesMatching(IContainer container, string path) => allEntitiesMatching(container, path); - public IMoleculeAmount[] AllMoleculesMatching(IContainer container, string path) => - allEntitiesMatching(container, path); + public MoleculeAmount[] AllMoleculesMatching(IContainer container, string path) => + allEntitiesMatching(container, path); public string[] AllQuantityPathsIn(IContainer container) => allEntityPathIn(container); public string[] AllContainerPathsIn(IContainer container) => allEntityPathIn(container, isRealContainer); - public string[] AllMoleculesPathsIn(IContainer container) => allEntityPathIn(container); + public string[] AllMoleculesPathsIn(IContainer container) => allEntityPathIn(container); public string[] AllParameterPathsIn(IContainer container) => allEntityPathIn(container); @@ -214,7 +214,7 @@ private string[] allEntityPathIn(IContainer container, Func filterFu return _coreContainerTask.CacheAllChildrenSatisfying(container, filterFunc ?? (x => true)).Keys.ToArray(); } - private bool isRealContainer(IContainer container) => !container.IsAnImplementationOf() && !container.IsAnImplementationOf(); + private bool isRealContainer(IContainer container) => !container.IsAnImplementationOf() && !container.IsAnImplementationOf(); private bool isStateVariableParameter(IParameter parameter) => parameter.RHSFormula != null; diff --git a/src/OSPSuite.UI/Diagram/Managers/ReactionDiagramManager.cs b/src/OSPSuite.UI/Diagram/Managers/ReactionDiagramManager.cs index da6d28887..a8e5f409e 100644 --- a/src/OSPSuite.UI/Diagram/Managers/ReactionDiagramManager.cs +++ b/src/OSPSuite.UI/Diagram/Managers/ReactionDiagramManager.cs @@ -13,11 +13,11 @@ namespace OSPSuite.UI.Diagram.Managers { public class ReactionDiagramManager : BaseDiagramManager, IReactionDiagramManager - where T : class, IWithDiagramFor, IEnumerable + where T : class, IWithDiagramFor, IEnumerable { public ReactionDiagramManager() { - RegisterUpdateMethod(UpdateReactionBuilder); + RegisterUpdateMethod(UpdateReactionBuilder); } protected override void UpdateDiagramModel(T reactionBuildingBlock, IDiagramModel diagramModel, bool coupleAll) @@ -58,7 +58,7 @@ protected override void DecoupleModel() protected override bool DecoupleObjectBase(IObjectBase objectBase, bool recursive) { - return Decouple(objectBase as IReactionBuilder); + return Decouple(objectBase as ReactionBuilder); } protected override bool MustHandleNew(IObjectBase obj) @@ -66,10 +66,10 @@ protected override bool MustHandleNew(IObjectBase obj) if (obj == null || PkModel == null) return false; - return obj.IsAnImplementationOf() && PkModel.Contains(obj.DowncastTo()); + return obj.IsAnImplementationOf() && PkModel.Contains(obj.DowncastTo()); } - public void AddMolecule(IReactionBuilder reactionBuilder, string moleculeName) + public void AddMolecule(ReactionBuilder reactionBuilder, string moleculeName) { var reactionNode = ReactionNodeFor(reactionBuilder); // insert new Modifier node above reaction @@ -81,12 +81,12 @@ public void AddMolecule(IReactionBuilder reactionBuilder, string moleculeName) UpdateReactionBuilder(reactionBuilder); } - public void RemoveMolecule(IReactionBuilder reactionBuilder, string moleculeName) + public void RemoveMolecule(ReactionBuilder reactionBuilder, string moleculeName) { UpdateReactionBuilder(reactionBuilder); } - public void RenameMolecule(IReactionBuilder reactionBuilder, string oldMoleculeName, string newMoleculeName) + public void RenameMolecule(ReactionBuilder reactionBuilder, string oldMoleculeName, string newMoleculeName) { // try to keep same location of renamed molecule var reactionNode = ReactionNodeFor(reactionBuilder); @@ -109,7 +109,7 @@ public void RenameMolecule(IReactionBuilder reactionBuilder, string oldMoleculeN protected override IBaseNode AddObjectBase(IContainerBase parent, IObjectBase objectBase, bool recursive, bool coupleAll) { - var node = AddAndCoupleNode(parent, objectBase as IReactionBuilder, coupleAll); + var node = AddAndCoupleNode(parent, objectBase as ReactionBuilder, coupleAll); if (node != null) return node; @@ -118,7 +118,7 @@ protected override IBaseNode AddObjectBase(IContainerBase parent, IObjectBase ob protected override bool RemoveObjectBase(IObjectBase objectBase, bool recursive) { - if (RemoveAndDecoupleNode(objectBase as IReactionBuilder)) + if (RemoveAndDecoupleNode(objectBase as ReactionBuilder)) return true; return base.RemoveObjectBase(objectBase, recursive); @@ -127,7 +127,7 @@ protected override bool RemoveObjectBase(IObjectBase objectBase, bool recursive) // signature is necessary for use as argument in RegisterUpdateMethod public void UpdateReactionBuilder(IObjectBase reactionAsObjectBase, IBaseNode reactionNodeAsBaseNode) { - var reactionBuilder = reactionAsObjectBase.DowncastTo(); + var reactionBuilder = reactionAsObjectBase.DowncastTo(); var reactionNode = reactionNodeAsBaseNode.DowncastTo(); reactionNode.ClearLinks(); @@ -150,14 +150,14 @@ public void UpdateReactionBuilder(IObjectBase reactionAsObjectBase, IBaseNode re reactionNode.SetColorFrom(DiagramOptions.DiagramColors); } - public void UpdateReactionBuilder(IReactionBuilder reactionBuilder) + public void UpdateReactionBuilder(ReactionBuilder reactionBuilder) { var reactionNode = ReactionNodeFor(reactionBuilder); if (reactionNode == null) return; UpdateReactionBuilder(reactionBuilder, reactionNode); } - public IReactionNode ReactionNodeFor(IReactionBuilder reactionBuilder) + public IReactionNode ReactionNodeFor(ReactionBuilder reactionBuilder) { return NodeFor(reactionBuilder); } @@ -190,6 +190,7 @@ public IMoleculeNode AddMoleculeNode(string moleculeName) UpdateReactionBuilder(PkModel.First(node => node.Id == reactionNode.Id), reactionNode); } } + return newMoleculeNode; } diff --git a/tests/OSPSuite.Core.IntegrationTests/ConcentrationBaseModelIntegrationTests.cs b/tests/OSPSuite.Core.IntegrationTests/ConcentrationBaseModelIntegrationTests.cs index 1485e674d..742d7eec5 100644 --- a/tests/OSPSuite.Core.IntegrationTests/ConcentrationBaseModelIntegrationTests.cs +++ b/tests/OSPSuite.Core.IntegrationTests/ConcentrationBaseModelIntegrationTests.cs @@ -22,13 +22,13 @@ public override void GlobalContext() _organism = _simulation.Model.Root.GetSingleChildByName(ConstantsForSpecs.Organism); } - protected IMoleculeAmount Organsim_Molecule_A => _organism.EntityAt("A"); + protected MoleculeAmount Organsim_Molecule_A => _organism.EntityAt("A"); - protected IMoleculeAmount Organism_Molecule_B => _organism.EntityAt("B"); + protected MoleculeAmount Organism_Molecule_B => _organism.EntityAt("B"); - protected IMoleculeAmount Lung_Molecule_A => _organism.EntityAt(ConstantsForSpecs.Lung, "A"); + protected MoleculeAmount Lung_Molecule_A => _organism.EntityAt(ConstantsForSpecs.Lung, "A"); - protected IMoleculeAmount Lung_Molecule_B => _organism.EntityAt(ConstantsForSpecs.Lung, "B"); + protected MoleculeAmount Lung_Molecule_B => _organism.EntityAt(ConstantsForSpecs.Lung, "B"); protected IParameter Organism_StartValue_A => startValueFor(Organsim_Molecule_A); diff --git a/tests/OSPSuite.Core.IntegrationTests/DiffBuilders/BuildingBlockDiffBuilderSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/DiffBuilders/BuildingBlockDiffBuilderSpecs.cs index 10647b1ed..9a5ca71c9 100644 --- a/tests/OSPSuite.Core.IntegrationTests/DiffBuilders/BuildingBlockDiffBuilderSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/DiffBuilders/BuildingBlockDiffBuilderSpecs.cs @@ -13,7 +13,7 @@ protected override void Context() var moleculeBuildingBlock1 = new MoleculeBuildingBlock().WithName("Tada"); var moleculeBuilderA = new MoleculeBuilder().WithName("MSVa"); var moleculeBuilderB = new MoleculeBuilder().WithName("MSVb"); - + moleculeBuildingBlock1.Add(moleculeBuilderA); moleculeBuildingBlock1.Add(moleculeBuilderB); @@ -21,7 +21,7 @@ protected override void Context() var moleculeBuildingBlock2 = new MoleculeBuildingBlock().WithName("Tada"); moleculeBuilderA = new MoleculeBuilder().WithName("MSVa"); moleculeBuilderB = new MoleculeBuilder().WithName("MSVb"); - + moleculeBuildingBlock2.Add(moleculeBuilderA); moleculeBuildingBlock2.Add(moleculeBuilderB); @@ -93,7 +93,6 @@ protected override void Context() _object1 = moleculeBuildingBlock1; _object2 = moleculeBuildingBlock2; - } [Observation] @@ -102,7 +101,7 @@ public void should_report_differences() _report.Count.ShouldBeEqualTo(1); } } - + public class When_comparing_two_building_blocks_with_missing_child_builder : concern_for_ObjectComparer { protected override void Context() @@ -169,20 +168,19 @@ public class When_comparing_two_observer_building_block_with_different_observer_ { protected override void Context() { - base.Context(); var observerBuildingBlock1 = new ObserverBuildingBlock().WithName("Tada"); - IObserverBuilder observerBuilderA = new ContainerObserverBuilder().WithName("OBS"); + var observerBuilderA = new ContainerObserverBuilder().WithName("OBS"); var observerBuilderB = new ContainerObserverBuilder().WithName("ObsB"); observerBuildingBlock1.Add(observerBuilderA); observerBuildingBlock1.Add(observerBuilderB); var observerBuildingBlock2 = new ObserverBuildingBlock().WithName("Tada"); - observerBuilderA = new AmountObserverBuilder().WithName("OBS"); + var otherObserverBuilderA = new AmountObserverBuilder().WithName("OBS"); observerBuilderB = new ContainerObserverBuilder().WithName("ObsB"); - observerBuildingBlock2.Add(observerBuilderA); + observerBuildingBlock2.Add(otherObserverBuilderA); observerBuildingBlock2.Add(observerBuilderB); _object1 = observerBuildingBlock1; @@ -200,20 +198,19 @@ public class When_comparing_two_event_group_building_block_with_different_object { protected override void Context() { - base.Context(); var observerBuildingBlock1 = new EventGroupBuildingBlock().WithName("Tada"); - IEventGroupBuilder observerBuilderA = new ApplicationBuilder().WithName("EGA"); + var observerBuilderA = new ApplicationBuilder().WithName("EGA"); var observerBuilderB = new ApplicationBuilder().WithName("EGB"); observerBuildingBlock1.Add(observerBuilderA); observerBuildingBlock1.Add(observerBuilderB); var observerBuildingBlock2 = new EventGroupBuildingBlock().WithName("Tada"); - observerBuilderA = new EventGroupBuilder().WithName("EGA"); + var eventGroupBuilderA = new EventGroupBuilder().WithName("EGA"); observerBuilderB = new ApplicationBuilder().WithName("EGB"); - observerBuildingBlock2.Add(observerBuilderA); + observerBuildingBlock2.Add(eventGroupBuilderA); observerBuildingBlock2.Add(observerBuilderB); _object1 = observerBuildingBlock1; diff --git a/tests/OSPSuite.Core.IntegrationTests/DiffBuilders/EventGroupBuilderDiffBuilderSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/DiffBuilders/EventGroupBuilderDiffBuilderSpecs.cs index 1681391a5..87a39e49f 100644 --- a/tests/OSPSuite.Core.IntegrationTests/DiffBuilders/EventGroupBuilderDiffBuilderSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/DiffBuilders/EventGroupBuilderDiffBuilderSpecs.cs @@ -135,7 +135,7 @@ public void should_report_the_differences_accordingly() public class When_comparing_EventGroup_with_different_properties : concern_for_ObjectComparer { - private IEventAssignmentBuilder _eventAssignmentBuilder1; + private EventAssignmentBuilder _eventAssignmentBuilder1; private IParameter _p1; private ExplicitFormula _explicitFormula1; private EventBuilder _e1; diff --git a/tests/OSPSuite.Core.IntegrationTests/EventBuilderTaskIntegrationTests.cs b/tests/OSPSuite.Core.IntegrationTests/EventBuilderTaskIntegrationTests.cs index d343885fa..bf06929c5 100644 --- a/tests/OSPSuite.Core.IntegrationTests/EventBuilderTaskIntegrationTests.cs +++ b/tests/OSPSuite.Core.IntegrationTests/EventBuilderTaskIntegrationTests.cs @@ -13,7 +13,7 @@ public abstract class concern_for_EventBuilderTask : ContextForModelConstructorI public class When_creating_simulation_with_many_floating_molecules_and_nested_applications_and_nonapplication_eventgroups : concern_for_EventBuilderTask { - private List _allEventGroups; + private List _allEventGroups; private const string C1 = "C1"; private const string C2 = "C2"; private const string C3 = "C3"; @@ -24,7 +24,7 @@ public override void GlobalContext() { base.GlobalContext(); _creationResult = CreateFrom("EventsAppKeywordReplacement"); - _allEventGroups = _creationResult.Model.Root.GetAllChildren().ToList(); + _allEventGroups = _creationResult.Model.Root.GetAllChildren().ToList(); } [Observation] @@ -49,13 +49,13 @@ public void should_replace_keywords_in_applications_with_molecule_name_of_parent public class When_creating_simulation_using_an_event_with_a_keyword_all_floating : concern_for_EventBuilderTask { - private List _allEventGroups; + private List _allEventGroups; public override void GlobalContext() { base.GlobalContext(); _creationResult = CreateFrom("simulation_with_urine_emptying"); - _allEventGroups = _creationResult.Model.Root.GetAllChildren().ToList(); + _allEventGroups = _creationResult.Model.Root.GetAllChildren().ToList(); } [Observation] diff --git a/tests/OSPSuite.Core.IntegrationTests/Helpers/AssertForSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/Helpers/AssertForSpecs.cs index 46acaacf2..8cfa2e492 100644 --- a/tests/OSPSuite.Core.IntegrationTests/Helpers/AssertForSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/Helpers/AssertForSpecs.cs @@ -55,27 +55,27 @@ public static void AreEqual(T x1, T x2) where T : class } // Types related to EventBuilder - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualApplicationBuilder((IApplicationBuilder) x1, (IApplicationBuilder) x2); + AreEqualApplicationBuilder(x1 as ApplicationBuilder, x2 as ApplicationBuilder); return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualEventGroupBuilder((IEventGroupBuilder) x1, (IEventGroupBuilder) x2); + AreEqualEventGroupBuilder(x1 as EventGroupBuilder, x2 as EventGroupBuilder); return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualEventBuilder((IEventBuilder) x1, (IEventBuilder) x2); + AreEqualEventBuilder(x1 as EventBuilder, x2 as EventBuilder); return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualEventAssignmentBuilder((IEventAssignmentBuilder) x1, (IEventAssignmentBuilder) x2); + AreEqualEventAssignmentBuilder(x1 as EventAssignmentBuilder, x2 as EventAssignmentBuilder); return; } @@ -96,9 +96,9 @@ public static void AreEqual(T x1, T x2) where T : class AreEqualInteractionContainer(x1 as InteractionContainer, x2 as InteractionContainer); } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualMoleculeBuilder((IMoleculeBuilder) x1, (IMoleculeBuilder) x2); + AreEqualMoleculeBuilder(x1 as MoleculeBuilder, x2 as MoleculeBuilder); return; } @@ -109,34 +109,34 @@ public static void AreEqual(T x1, T x2) where T : class } // Types derived from ObserverBuilder - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualObserverBuilder((IContainerObserverBuilder) x1, (IContainerObserverBuilder) x2); + AreEqualObserverBuilder(x1 as ContainerObserverBuilder, x2 as ContainerObserverBuilder); return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualAmountObserverBuilder((IAmountObserverBuilder) x1, (IAmountObserverBuilder) x2); + AreEqualAmountObserverBuilder(x1 as AmountObserverBuilder, x2 as AmountObserverBuilder); return; } // Types derived from ProcessBuilder - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualReactionPartnerBuilder((IReactionPartnerBuilder) x1, (IReactionPartnerBuilder) x2); + AreEqualReactionPartnerBuilder(x1 as ReactionPartnerBuilder, x2 as ReactionPartnerBuilder); return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualReactionBuilder((IReactionBuilder) x1, (IReactionBuilder) x2); + AreEqualReactionBuilder(x1 as ReactionBuilder, x2 as ReactionBuilder); return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualTransportBuilder((ITransportBuilder) x1, (ITransportBuilder) x2); + AreEqualTransportBuilder(x1 as TransportBuilder, x2 as TransportBuilder); return; } @@ -161,34 +161,34 @@ public static void AreEqual(T x1, T x2) where T : class } // Types derived from Event - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualEventGroup((IEventGroup) x1, (IEventGroup) x2); + AreEqualEventGroup(x1 as EventGroup, x2 as EventGroup); return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualEvent((IEvent) x1, (IEvent) x2); + AreEqualEvent(x1 as Event, x2 as Event); return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualEventAssignment((IEventAssignment) x1, (IEventAssignment) x2); + AreEqualEventAssignment(x1 as EventAssignment, x2 as EventAssignment); return; } // Types derived from Process - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualReaction((IReaction) x1, (IReaction) x2); + AreEqualReaction(x1 as Reaction, x2 as Reaction); return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualTransport((ITransport) x1, (ITransport) x2); + AreEqualTransport(x1 as Transport, x2 as Transport); return; } @@ -205,9 +205,9 @@ public static void AreEqual(T x1, T x2) where T : class return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualMoleculeAmount((IMoleculeAmount) x1, (IMoleculeAmount) x2); + AreEqualMoleculeAmount(x1 as MoleculeAmount, x2 as MoleculeAmount); return; } @@ -224,9 +224,9 @@ public static void AreEqual(T x1, T x2) where T : class return; } - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualObserver((IObserver) x1, (IObserver) x2); + AreEqualObserver(x1 as Observer, x2 as Observer); return; } @@ -305,9 +305,9 @@ public static void AreEqual(T x1, T x2) where T : class } // Types not derived from IObjectBase - if (x1.IsAnImplementationOf()) + if (x1.IsAnImplementationOf()) { - AreEqualReactionPartner((IReactionPartner) x1, (IReactionPartner) x2); + AreEqualReactionPartner(x1 as ReactionPartner, x2 as ReactionPartner); return; } @@ -634,14 +634,14 @@ public static void AreEqualProcess(IProcess x1, IProcess x2) AreEqualFormula(x1.Formula, x2.Formula); } - public static void AreEqualReactionPartner(IReactionPartner x1, IReactionPartner x2) + public static void AreEqualReactionPartner(ReactionPartner x1, ReactionPartner x2) { if (!AssertBothNotNull(x1, x2)) return; Assert.AreEqual(x1.StoichiometricCoefficient, x2.StoichiometricCoefficient); AssertAreEqualId(x1.Partner, x2.Partner); } - public static void AreEqualReaction(IReaction x1, IReaction x2) + public static void AreEqualReaction(Reaction x1, Reaction x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualProcess(x1, x2); @@ -650,7 +650,7 @@ public static void AreEqualReaction(IReaction x1, IReaction x2) x2.ModifierNames.ShouldOnlyContain(x1.ModifierNames.ToArray()); } - public static void AreEqualTransport(ITransport x1, ITransport x2) + public static void AreEqualTransport(Transport x1, Transport x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualProcess(x1, x2); @@ -759,7 +759,7 @@ public static void AreEqualValueOrigin(ValueOrigin x1, ValueOrigin x2) AssertAreEqual(x1.Description, x2.Description); } - public static void AreEqualObserver(IObserver x1, IObserver x2) + public static void AreEqualObserver(Observer x1, Observer x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualQuantity(x1, x2); @@ -784,7 +784,7 @@ public static void AreEqualQuantityAndContainer(IQuantityAndContainer x1, IQuant AreEqualContainer(x1, x2); } - public static void AreEqualMoleculeAmount(IMoleculeAmount x1, IMoleculeAmount x2) + public static void AreEqualMoleculeAmount(MoleculeAmount x1, MoleculeAmount x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualQuantityAndContainer(x1, x2); @@ -801,7 +801,7 @@ public static void AreEqualDistributedParameter(IDistributedParameter x1, IDistr Assert.AreEqual(x1.IsDefault, x2.IsDefault); } - public static void AreEqualEventAssignment(IEventAssignment x1, IEventAssignment x2) + public static void AreEqualEventAssignment(EventAssignment x1, EventAssignment x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualEntity(x1, x2); @@ -812,7 +812,7 @@ public static void AreEqualEventAssignment(IEventAssignment x1, IEventAssignment AssertAreEqualId(x1.ChangedEntity, x2.ChangedEntity); } - public static void AreEqualEvent(IEvent x1, IEvent x2) + public static void AreEqualEvent(Event x1, Event x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualContainer(x1, x2); @@ -821,7 +821,7 @@ public static void AreEqualEvent(IEvent x1, IEvent x2) Assert.AreEqual(x1.OneTime, x2.OneTime); } - public static void AreEqualEventGroup(IEventGroup x1, IEventGroup x2) + public static void AreEqualEventGroup(EventGroup x1, EventGroup x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualContainer(x1, x2); @@ -885,7 +885,7 @@ public static void AreEqualFormulaCache(IFormulaCache x1, IFormulaCache x2) AreEqualEnumerableOfNamedObjects(x1, x2, x => x.Id); } - public static void AreEqualObserverBuilder(IObserverBuilder x1, IObserverBuilder x2) + public static void AreEqualObserverBuilder(ObserverBuilder x1, ObserverBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualObjectBase(x1, x2); @@ -922,7 +922,7 @@ public static void AreEqualComparerSettings(ComparerSettings x1, ComparerSetting Assert.AreEqual(x1.ShowValueOrigin, x2.ShowValueOrigin); } - public static void AreEqualCalculationMethod(ICoreCalculationMethod x1, ICoreCalculationMethod x2) + public static void AreEqualCalculationMethod(CoreCalculationMethod x1, CoreCalculationMethod x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualBuildingBlock(x1, x2); @@ -948,7 +948,7 @@ public static void AreEqualCalculationMethod(ICoreCalculationMethod x1, ICoreCal } } - public static void AreEqualAmountObserverBuilder(IAmountObserverBuilder x1, IAmountObserverBuilder x2) + public static void AreEqualAmountObserverBuilder(AmountObserverBuilder x1, AmountObserverBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualObserverBuilder(x1, x2); @@ -966,7 +966,7 @@ public static void AreEqualParameterBuilder(IParameter x1, IParameter x2) AreEqualParameter(x1, x2); } - public static void AreEqualMoleculeBuilder(IMoleculeBuilder x1, IMoleculeBuilder x2) + public static void AreEqualMoleculeBuilder(MoleculeBuilder x1, MoleculeBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualObjectBase(x1, x2); @@ -1000,7 +1000,7 @@ public static void AreEqualExtendedProperties(ExtendedProperties x1, ExtendedPro AreEqualEnumerableOfNamedObjects(x1, x2, x => x.Name); } - public static void AreEqualProcessBuilder(IProcessBuilder x1, IProcessBuilder x2) + public static void AreEqualProcessBuilder(ProcessBuilder x1, ProcessBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualObjectBase(x1, x2); @@ -1008,7 +1008,7 @@ public static void AreEqualProcessBuilder(IProcessBuilder x1, IProcessBuilder x2 AreEqualFormula(x1.Formula, x2.Formula); } - public static void AreEqualTransportBuilder(ITransportBuilder x1, ITransportBuilder x2) + public static void AreEqualTransportBuilder(TransportBuilder x1, TransportBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualProcessBuilder(x1, x2); @@ -1021,14 +1021,14 @@ public static void AreEqualTransportBuilder(ITransportBuilder x1, ITransportBuil AreEqualMoleculeList(x1.MoleculeList, x2.MoleculeList); } - public static void AreEqualReactionPartnerBuilder(IReactionPartnerBuilder x1, IReactionPartnerBuilder x2) + public static void AreEqualReactionPartnerBuilder(ReactionPartnerBuilder x1, ReactionPartnerBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualStrings(x1.MoleculeName, x2.MoleculeName); Assert.AreEqual(x1.StoichiometricCoefficient, x2.StoichiometricCoefficient); } - public static void AreEqualReactionBuilder(IReactionBuilder x1, IReactionBuilder x2) + public static void AreEqualReactionBuilder(ReactionBuilder x1, ReactionBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualProcessBuilder(x1, x2); @@ -1048,7 +1048,7 @@ public static void AreEqualNeighborhoodBuilder(NeighborhoodBuilder x1, Neighborh AreEqualContainer(x1.MoleculeProperties, x2.MoleculeProperties); } - public static void AreEqualEventAssignmentBuilder(IEventAssignmentBuilder x1, IEventAssignmentBuilder x2) + public static void AreEqualEventAssignmentBuilder(EventAssignmentBuilder x1, EventAssignmentBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualObjectBase(x1, x2); @@ -1058,7 +1058,7 @@ public static void AreEqualEventAssignmentBuilder(IEventAssignmentBuilder x1, IE AreEqualFormula(x1.Formula, x2.Formula); } - public static void AreEqualEventBuilder(IEventBuilder x1, IEventBuilder x2) + public static void AreEqualEventBuilder(EventBuilder x1, EventBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualObjectBase(x1, x2); @@ -1069,7 +1069,7 @@ public static void AreEqualEventBuilder(IEventBuilder x1, IEventBuilder x2) AreEqualEnumerableOfNamedObjects(x1.Assignments, x2.Assignments, x => x.Id); } - public static void AreEqualEventGroupBuilder(IEventGroupBuilder x1, IEventGroupBuilder x2) + public static void AreEqualEventGroupBuilder(EventGroupBuilder x1, EventGroupBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualContainer(x1, x2); @@ -1077,10 +1077,10 @@ public static void AreEqualEventGroupBuilder(IEventGroupBuilder x1, IEventGroupB AreEqualDescriptorCriteria(x1.SourceCriteria, x2.SourceCriteria); AreEqualEnumerableOfNamedObjects(x1.GetChildren(), x2.GetChildren(), x => x.Id); AreEqualEnumerableOfNamedObjects(x1.Events, x2.Events, x => x.Id); - AreEqualEnumerableOfNamedObjects(x1.GetChildren(), x2.GetChildren(), x => x.Id); + AreEqualEnumerableOfNamedObjects(x1.GetChildren(), x2.GetChildren(), x => x.Id); } - public static void AreEqualApplicationBuilder(IApplicationBuilder x1, IApplicationBuilder x2) + public static void AreEqualApplicationBuilder(ApplicationBuilder x1, ApplicationBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualEventGroupBuilder(x1, x2); @@ -1098,6 +1098,7 @@ public static void AreEqualPathAndValueEntity(PathAndValueEntity x1, PathAndValu AreEqualUnit(x1.DisplayUnit, x2.DisplayUnit); AreEqualDimension(x1.Dimension, x2.Dimension); } + public static void AreEqualMoleculeStartValue(MoleculeStartValue x1, MoleculeStartValue x2) { AreEqualPathAndValueEntity(x1, x2); @@ -1150,7 +1151,7 @@ public static void AreEqualBuildingBlock(IBuildingBlock x1, AreEqualEnumerableOfNamedObjects(x1, x2, x => x.Id); } - public static void AreEqualSpatialStructure(ISpatialStructure x1, ISpatialStructure x2) + public static void AreEqualSpatialStructure(SpatialStructure x1, SpatialStructure x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualBuildingBlock((IBuildingBlock) x1, x2); @@ -1188,21 +1189,6 @@ public static void AreEqualSimulationConfiguration(SimulationConfiguration x1, S AreEqualSimulationSettings(x1.SimulationSettings, x2.SimulationSettings); } - public static void AreEqualBuildConfiguration(IBuildConfiguration x1, IBuildConfiguration x2) - { - if (!AssertBothNotNull(x1, x2)) return; - AreEqualBuildingBlock(x1.Molecules, x2.Molecules); - AreEqualBuildingBlock(x1.Observers, x2.Observers); - AreEqualBuildingBlock(x1.EventGroups, x2.EventGroups); - AreEqualBuildingBlock(x1.PassiveTransports, x2.PassiveTransports); - AreEqualBuildingBlock(x1.Reactions, x2.Reactions); - AreEqualSpatialStructure(x1.SpatialStructure, x2.SpatialStructure); - AreEqualParameterStartValuesBuildingBlock(x1.ParameterStartValues, x2.ParameterStartValues); - AreEqualMoleculeStartValuesBuildingBlock(x1.MoleculeStartValues, x2.MoleculeStartValues); - AreEqualCalculationMethodLists(x1.AllCalculationMethods(), x2.AllCalculationMethods()); - AreEqualSimulationSettings(x1.SimulationSettings, x2.SimulationSettings); - } - public static void AreEqualModuleConfiguration(ModuleConfiguration x1, ModuleConfiguration x2) { AreEqualModule(x1.Module, x2.Module); @@ -1219,7 +1205,7 @@ public static void AreEqualModuleConfigurationLists(IEnumerable x1, IEnumerable x2) + public static void AreEqualCalculationMethodLists(IEnumerable x1, IEnumerable x2) { Assert.AreEqual(x1.Count(), x2.Count()); for (int i = 0; i < x1.Count(); i++) @@ -1382,7 +1368,7 @@ public static void AreEqualDataRepository(DataRepository x1, DataRepository x2) AreEqualEnumerableOfNamedObjects(x1, x2, x => x.Id); } - public static void AreEqualApplicationMoleculeBuilder(IApplicationMoleculeBuilder x1, IApplicationMoleculeBuilder x2) + public static void AreEqualApplicationMoleculeBuilder(ApplicationMoleculeBuilder x1, ApplicationMoleculeBuilder x2) { if (!AssertBothNotNull(x1, x2)) return; AreEqualObjectBase(x1, x2); diff --git a/tests/OSPSuite.Core.IntegrationTests/ModelConstructorIntegrationTests.cs b/tests/OSPSuite.Core.IntegrationTests/ModelConstructorIntegrationTests.cs index e22064c0b..1e7909136 100644 --- a/tests/OSPSuite.Core.IntegrationTests/ModelConstructorIntegrationTests.cs +++ b/tests/OSPSuite.Core.IntegrationTests/ModelConstructorIntegrationTests.cs @@ -61,7 +61,7 @@ public void transport_T1_1_should_take_place_between_arterial_plasma_and_bone_pl [Observation] public void transport_T1_1_should_have_local_parameters_set() { - var transports = _model.Neighborhoods.GetAllChildren(t => t.Name.Equals("T1_1")); + var transports = _model.Neighborhoods.GetAllChildren(t => t.Name.Equals("T1_1")); foreach (var transport in transports) { @@ -131,7 +131,7 @@ public void transport_T2_should_take_place_between_lung_plasma_and_lung_cell_for public void reaction_R1_should_only_take_place_in_bone_cell_and_lung_cell() { var organism = _model.Root; - var allContainingR1 = from reaction in organism.GetAllChildren() + var allContainingR1 = from reaction in organism.GetAllChildren() where reaction.Name.Equals("R1") select reaction.ParentContainer; @@ -498,9 +498,9 @@ internal static IContainer ModelOrganCompartment(this IModel model, string organ return model.Root.GetSingleChildByName(Organism).Container(organName).Container(compartmentName); } - internal static IMoleculeAmount ModelOrganCompartmentMolecule(this IModel model, string organName, string compartmentName, string moleculeName) + internal static MoleculeAmount ModelOrganCompartmentMolecule(this IModel model, string organName, string compartmentName, string moleculeName) { - return model.ModelOrganCompartment(organName, compartmentName).GetSingleChildByName(moleculeName); + return model.ModelOrganCompartment(organName, compartmentName).GetSingleChildByName(moleculeName); } } diff --git a/tests/OSPSuite.Core.IntegrationTests/ObjectBaseFactorySpecs.cs b/tests/OSPSuite.Core.IntegrationTests/ObjectBaseFactorySpecs.cs index efd222b1e..bfc4eca5f 100644 --- a/tests/OSPSuite.Core.IntegrationTests/ObjectBaseFactorySpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/ObjectBaseFactorySpecs.cs @@ -134,7 +134,7 @@ public void should_return_a_new_object_with_a_new_id() public class When_creating_an_object_that_implemented_the_with_creation_meta_data_interface : concern_for_ObjectBaseFactory { - private IObserverBuildingBlock _result; + private ObserverBuildingBlock _result; private CreationMetaData _creation; protected override void Context() @@ -146,7 +146,7 @@ protected override void Context() protected override void Because() { - _result = sut.Create(); + _result = sut.Create(); } [Observation] diff --git a/tests/OSPSuite.Core.IntegrationTests/Serializers/EventBuilderXmlSerializerSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/Serializers/EventBuilderXmlSerializerSpecs.cs index 8959f3ef0..2f19ac7b3 100644 --- a/tests/OSPSuite.Core.IntegrationTests/Serializers/EventBuilderXmlSerializerSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/Serializers/EventBuilderXmlSerializerSpecs.cs @@ -18,7 +18,7 @@ public void TestSerialization() x1.Dimension = DimensionLength; x1.Formula = CreateObject().WithDimension(DimensionLength).WithValue(23.4); - IEventAssignmentBuilder x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualEventAssignmentBuilder(x1, x2); } @@ -44,8 +44,8 @@ public void TestSerialization() x1.AddParameter(p1); x1.AddParameter(p2); - IEventAssignmentBuilder eab1 = CreateObject().WithDimension(DimensionLength).WithFormula(f1).WithName("eab1"); - IEventAssignmentBuilder eab2 = CreateObject().WithFormula(f2).WithName("eab2"); + var eab1 = CreateObject().WithDimension(DimensionLength).WithFormula(f1).WithName("eab1"); + var eab2 = CreateObject().WithFormula(f2).WithName("eab2"); x1.AddAssignment(eab1); x1.AddAssignment(eab2); @@ -89,7 +89,7 @@ public void TestSerialization() a1.AddTransport(CreateObject().WithName("PassiveTranport").WithFormula(f1)); - IEventGroupBuilder x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualEventGroupBuilder(x1, x2); } @@ -137,12 +137,12 @@ public class ApplicationMoleculeBuilderXMLSerializerSpecs : ModellingXmlSerializ [Test] public void TestSerialization() { - ApplicationMoleculeBuilder x1 = CreateObject().WithName("AppMoleculeBuilder"); + var x1 = CreateObject().WithName("AppMoleculeBuilder"); IFormula f2 = CreateObject().WithDimension(DimensionLength).WithValue(3.4); x1.Formula = f2; x1.RelativeContainerPath = new ObjectPath(new[] {"A", "B"}); - IApplicationMoleculeBuilder x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualApplicationMoleculeBuilder(x1, x2); } } diff --git a/tests/OSPSuite.Core.IntegrationTests/Serializers/EventXmlSerializerSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/Serializers/EventXmlSerializerSpecs.cs index 19104068a..85dcf107a 100644 --- a/tests/OSPSuite.Core.IntegrationTests/Serializers/EventXmlSerializerSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/Serializers/EventXmlSerializerSpecs.cs @@ -18,7 +18,7 @@ public void TestSerializationEventAssignment() x1.Formula = CreateObject().WithDimension(DimensionLength).WithValue(23.4); x1.ResolveChangedEntity(); - IEventAssignment x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); x2.ParentContainer = C0; x2.ResolveChangedEntity(); AssertForSpecs.AreEqualEventAssignment(x2, x1); @@ -41,7 +41,7 @@ public void TestSerializationEvent() x1.AddAssignment(ea1); ea1.ResolveChangedEntity(); - IEvent x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); x2.ParentContainer = C0; var refResolver = new ReferencesResolver(); diff --git a/tests/OSPSuite.Core.IntegrationTests/Serializers/MoleculeBuilderXmlSerializerSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/Serializers/MoleculeBuilderXmlSerializerSpecs.cs index d44ff9b3d..693838cbe 100644 --- a/tests/OSPSuite.Core.IntegrationTests/Serializers/MoleculeBuilderXmlSerializerSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/Serializers/MoleculeBuilderXmlSerializerSpecs.cs @@ -33,13 +33,13 @@ public void TestSerialization() x1.AddParameter(p2); var atbc1 = CreateObject().WithName("Tranquilo"); - ITransportBuilder atb1 = CreateObject(); + var atb1 = CreateObject(); atb1.Formula = CreateObject().WithDimension(DimensionLength).WithValue(2.5); atb1.AddParameter(p3); atb1.Name = "Tranquilo"; atbc1.AddActiveTransportRealization(atb1); var atbc2 = CreateObject().WithName("Tranquilo2"); - ITransportBuilder atb2 = CreateObject(); + var atb2 = CreateObject(); atb2.Formula = f1; atb2.Name = "Tranquilo2"; atbc2.AddActiveTransportRealization(atb2); diff --git a/tests/OSPSuite.Core.IntegrationTests/Serializers/ObserverBuilderXmlSerializerSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/Serializers/ObserverBuilderXmlSerializerSpecs.cs index bf30ad5eb..3b997519c 100644 --- a/tests/OSPSuite.Core.IntegrationTests/Serializers/ObserverBuilderXmlSerializerSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/Serializers/ObserverBuilderXmlSerializerSpecs.cs @@ -13,20 +13,20 @@ public class ObserverBuilderXmlSerializerSpecs : ModellingXmlSerializerBaseSpecs [Test] public void TestSerializationObserverBuilderWithoutFormula() { - ContainerObserverBuilder x1 = CreateObject().WithName("Oberon.Builder"); + var x1 = CreateObject().WithName("Oberon.Builder"); x1.MoleculeList.ForAll = true; x1.AddMoleculeName("H2O"); x1.AddMoleculeName("CO2"); x1.AddMoleculeNameToExclude("NO2"); - IObserverBuilder x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualObserverBuilder(x2, x1); } [Test] public void TestSerializationObserverBuilderWithConstantFormula() { - ContainerObserverBuilder x1 = CreateObject() + var x1 = CreateObject() .WithName("Obasi.Builder").WithDimension(DimensionLength); x1.MoleculeList.ForAll = false; x1.AddMoleculeName("H2O"); @@ -34,7 +34,7 @@ public void TestSerializationObserverBuilderWithConstantFormula() x1.Formula = CreateObject().WithDimension(DimensionLength).WithValue(23.4); - IObserverBuilder x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualObserverBuilder(x2, x1); } @@ -42,7 +42,7 @@ public void TestSerializationObserverBuilderWithConstantFormula() [Test] public void TestSerializationObserverBuilderWithExplicitFormula() { - ContainerObserverBuilder x1 = CreateObject().WithName("Oberon.Builder"); + var x1 = CreateObject().WithName("Oberon.Builder"); x1.ForAll = false; x1.AddMoleculeName("H2O"); x1.AddMoleculeName("CO2"); @@ -57,7 +57,7 @@ public void TestSerializationObserverBuilderWithExplicitFormula() x1.Formula = formulaCache[f1.Id]; //SerializeAndDeserializeGeneral(formulaCache); - IObserverBuilder x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualObserverBuilder(x2, x1); } @@ -72,7 +72,7 @@ public void TestSerializationWithoutFormula() x1.ForAll = true; x1.ContainerCriteria = Create.Criteria(x => x.With("Organ").And.Not("Compartment").And.InContainer("Liver").And.NotInContainer("Cell")); x1.Dimension = DimensionLength; - IAmountObserverBuilder x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualAmountObserverBuilder(x2, x1); } } diff --git a/tests/OSPSuite.Core.IntegrationTests/Serializers/ProcessBuilderXmlSerializerSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/Serializers/ProcessBuilderXmlSerializerSpecs.cs index 7f33c473d..de937cd5f 100644 --- a/tests/OSPSuite.Core.IntegrationTests/Serializers/ProcessBuilderXmlSerializerSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/Serializers/ProcessBuilderXmlSerializerSpecs.cs @@ -26,7 +26,7 @@ public void TestSerialization() x1.AddParameter(p1); x1.AddParameter(p2); - ITransportBuilder x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualProcessBuilder(x1, x2); } @@ -48,7 +48,7 @@ public void TestSerialization() x1.CreateProcessRateParameter = true; x1.ProcessRateParameterPersistable = true; - ITransportBuilder x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualTransportBuilder(x1, x2); } @@ -59,7 +59,7 @@ public class PassiveTransportBuilderXmlSerializerSpecs : ModellingXmlSerializerB [Test] public void TestSerialization() { - TransportBuilder x1 = CreateObject().WithName("Passionata.Builder"); + var x1 = CreateObject().WithName("Passionata.Builder"); x1.Formula = CreateObject().WithDimension(DimensionLength).WithValue(23.4); diff --git a/tests/OSPSuite.Core.IntegrationTests/Serializers/QuantityAndContainerXmlSerializerSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/Serializers/QuantityAndContainerXmlSerializerSpecs.cs index 0f55c6ee1..a5368a89b 100644 --- a/tests/OSPSuite.Core.IntegrationTests/Serializers/QuantityAndContainerXmlSerializerSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/Serializers/QuantityAndContainerXmlSerializerSpecs.cs @@ -57,7 +57,7 @@ public void TestSerializationMoleculeAmountWithFixedValue() x1.Value = 2.3; x1.ScaleDivisor = 0.345; - IMoleculeAmount x2 = SerializeAndDeserialize(x1); + var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualMoleculeAmount(x2, x1); } } diff --git a/tests/OSPSuite.Core.IntegrationTests/Serializers/ReactionXmlSerializerSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/Serializers/ReactionXmlSerializerSpecs.cs index cc4972b83..32628e6a1 100644 --- a/tests/OSPSuite.Core.IntegrationTests/Serializers/ReactionXmlSerializerSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/Serializers/ReactionXmlSerializerSpecs.cs @@ -13,13 +13,13 @@ public void TestSerializationEmptyReaction() { Reaction x1 = CreateObject().WithName("Regina").WithDimension(DimensionLength); IContainer c1 = CreateObject().WithName("Conrad"); - IMoleculeAmount educt1 = CreateObject().WithName("Eduard").WithParentContainer(c1); - IMoleculeAmount educt2 = CreateObject().WithName("Edward").WithParentContainer(c1); + var educt1 = CreateObject().WithName("Eduard").WithParentContainer(c1); + var educt2 = CreateObject().WithName("Edward").WithParentContainer(c1); x1.AddEduct(new ReactionPartner(1.1, educt1)); x1.AddEduct(new ReactionPartner(1.2, educt2)); - IMoleculeAmount product1 = CreateObject().WithName("Proton").WithParentContainer(c1); - IMoleculeAmount product2 = CreateObject().WithName("Prosit").WithParentContainer(c1); + var product1 = CreateObject().WithName("Proton").WithParentContainer(c1); + var product2 = CreateObject().WithName("Prosit").WithParentContainer(c1); x1.AddProduct(new ReactionPartner(1.1, product1)); x1.AddProduct(new ReactionPartner(1.2, product2)); x1.AddModifier("mod"); diff --git a/tests/OSPSuite.Core.IntegrationTests/Serializers/TransportXmlSerializerSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/Serializers/TransportXmlSerializerSpecs.cs index e6e892220..24859774a 100644 --- a/tests/OSPSuite.Core.IntegrationTests/Serializers/TransportXmlSerializerSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/Serializers/TransportXmlSerializerSpecs.cs @@ -13,8 +13,8 @@ public void TestSerializationTransport() { Transport x1 = CreateObject().WithName("Trevor").WithDimension(DimensionLength); IContainer c1 = CreateObject().WithName("Conrad"); - IMoleculeAmount sourceAmount = CreateObject().WithName("Source").WithParentContainer(c1); - IMoleculeAmount targetAmount = CreateObject().WithName("Target").WithParentContainer(c1); + var sourceAmount = CreateObject().WithName("Source").WithParentContainer(c1); + var targetAmount = CreateObject().WithName("Target").WithParentContainer(c1); x1.SourceAmount = sourceAmount; x1.TargetAmount = targetAmount; diff --git a/tests/OSPSuite.Core.IntegrationTests/SimModelManagerSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/SimModelManagerSpecs.cs index 316327572..62c8a2874 100644 --- a/tests/OSPSuite.Core.IntegrationTests/SimModelManagerSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/SimModelManagerSpecs.cs @@ -65,8 +65,8 @@ protected override void Because() [Observation] public void should_return_repository_with_number_of_amounts_and_observers_and_persistent_parameter_plus_one_extra_column_for_time() { - int numberOfAmounts = _simulation.Model.Root.GetAllChildren().Count(); - int numberOfObservers = _simulation.Model.Root.GetAllChildren().Count(); + int numberOfAmounts = _simulation.Model.Root.GetAllChildren().Count(); + int numberOfObservers = _simulation.Model.Root.GetAllChildren().Count(); int numberOfPersistentParameter = _simulation.Model.Root.GetAllChildren(parameter => parameter.Persistable).Count(); _results.Count().ShouldBeEqualTo(numberOfAmounts + numberOfObservers + numberOfPersistentParameter + 1); } diff --git a/tests/OSPSuite.Core.IntegrationTests/SpatialStructureSpecs.cs b/tests/OSPSuite.Core.IntegrationTests/SpatialStructureSpecs.cs index 02e7a0ac7..f98b29ead 100644 --- a/tests/OSPSuite.Core.IntegrationTests/SpatialStructureSpecs.cs +++ b/tests/OSPSuite.Core.IntegrationTests/SpatialStructureSpecs.cs @@ -9,7 +9,7 @@ namespace OSPSuite.Core { - internal abstract class concern_for_SpatialStructure : ContextForIntegration + internal abstract class concern_for_SpatialStructure : ContextForIntegration { protected SimulationConfiguration _simulationConfiguration; protected SimulationBuilder _simulationBuilder; @@ -29,7 +29,7 @@ protected override void Context() internal class When_told_to_update_properties_from_a_source_spatial_structure_with_clone_manager_for_building_blocks : concern_for_SpatialStructure { - private ISpatialStructure _sourceSpatialStructure; + private SpatialStructure _sourceSpatialStructure; private ICloneManagerForBuildingBlock _cloneManager; private const uint _buildingBlockVersion = 5; diff --git a/tests/OSPSuite.Core.Tests/Domain/BuildConfigurationSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/BuildConfigurationSpecs.cs deleted file mode 100644 index 147243ac4..000000000 --- a/tests/OSPSuite.Core.Tests/Domain/BuildConfigurationSpecs.cs +++ /dev/null @@ -1,29 +0,0 @@ -using OSPSuite.BDDHelper; -using OSPSuite.BDDHelper.Extensions; -using OSPSuite.Core.Domain.Builder; - -namespace OSPSuite.Core.Domain -{ - public abstract class concern_for_BuildConfiguration : ContextSpecification - { - protected override void Context() - { - sut = new BuildConfiguration(); - } - } - - public class When_returning_all_building_blocks_defined_in_a_build_configuration : concern_for_BuildConfiguration - { - protected override void Because() - { - sut.ParameterStartValues=new ParameterStartValuesBuildingBlock(); - sut.SpatialStructure=new SpatialStructure(); - } - - [Observation] - public void should_not_return_the_undefined_building_blocks() - { - sut.AllBuildingBlocks.ShouldOnlyContain(sut.ParameterStartValues,sut.SpatialStructure); - } - } -} \ No newline at end of file diff --git a/tests/OSPSuite.Core.Tests/Domain/CloneManagerForBuildingBlockSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/CloneManagerForBuildingBlockSpecs.cs index cd1902713..5f3e9ac08 100644 --- a/tests/OSPSuite.Core.Tests/Domain/CloneManagerForBuildingBlockSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/CloneManagerForBuildingBlockSpecs.cs @@ -141,9 +141,9 @@ public void should_not_return_references_to_formula_that_were_called_during_the_ public class When_cloning_a_building_block : concern_for_CloneManagerForBuildingBlock { - private ISpatialStructure _buildingBlock; + private SpatialStructure _buildingBlock; private IContainer _container; - private ISpatialStructure _clone; + private SpatialStructure _clone; protected override void Context() { diff --git a/tests/OSPSuite.Core.Tests/Domain/ContainerTaskSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/ContainerTaskSpecs.cs index c2ab5c5d1..f34a80c6c 100644 --- a/tests/OSPSuite.Core.Tests/Domain/ContainerTaskSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/ContainerTaskSpecs.cs @@ -83,7 +83,7 @@ public void should_create_a_container_into_the_parent_container_and_return_the_n internal class When_removing_a_container_in_SpatialStructure : concern_for_ContainerTask { - private ISpatialStructure _spatialStructure; + private SpatialStructure _spatialStructure; private NeighborhoodBuilder _firstNeighborRemove; private NeighborhoodBuilder _secondNeighborRemove; private IContainer _containerToRemove; diff --git a/tests/OSPSuite.Core.Tests/Domain/DataRepositorySpecs.cs b/tests/OSPSuite.Core.Tests/Domain/DataRepositorySpecs.cs index 64992514d..5c481b5da 100644 --- a/tests/OSPSuite.Core.Tests/Domain/DataRepositorySpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/DataRepositorySpecs.cs @@ -14,8 +14,8 @@ public abstract class concern_for_DataRepository : ContextSpecification().WithFormula(A.Fake()); + _reaction = new Reaction().WithFormula(A.Fake()); A.CallTo(() => _reaction.Formula.ObjectPaths).Returns(new[] {_objPathFirstNeighbor, _objPathMolecule, _objPathOrganism}); } diff --git a/tests/OSPSuite.Core.Tests/Domain/ModuleConfigurationSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/ModuleConfigurationSpecs.cs index 3d9bdf32f..58eee0620 100644 --- a/tests/OSPSuite.Core.Tests/Domain/ModuleConfigurationSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/ModuleConfigurationSpecs.cs @@ -27,10 +27,10 @@ protected override void Context() _moleculeStartValuesBuildingBlock2 = new MoleculeStartValuesBuildingBlock(); _module.AddMoleculeStartValueBlock(_moleculeStartValuesBuildingBlock1); _module.AddMoleculeStartValueBlock(_moleculeStartValuesBuildingBlock2); - _parameterStartValuesBuildingBlock = new ParameterStartValuesBuildingBlock(); + _parameterStartValuesBuildingBlock = new ParameterStartValuesBuildingBlock(); _module.AddParameterStartValueBlock(_parameterStartValuesBuildingBlock); - sut =new ModuleConfiguration(_module); + sut = new ModuleConfiguration(_module); } } @@ -44,7 +44,6 @@ public void should_return_the_fist_molecule_start_value_and_parameter_start_valu } } - public class When_creating_new_module_configuration_from_a_module_with_predefined_start_values : concern_for_ModuleConfiguration { protected override void Context() @@ -60,4 +59,24 @@ public void should_return_the_expected_molecule_and_parameter_start_values() sut.SelectedParameterStartValues.ShouldBeEqualTo(_parameterStartValuesBuildingBlock); } } + + public class When_returning_the_building_block_by_type_for_a_module_configuration : concern_for_ModuleConfiguration + { + protected override void Context() + { + base.Context(); + sut = new ModuleConfiguration(_module, _moleculeStartValuesBuildingBlock2, _parameterStartValuesBuildingBlock); + } + + [Observation] + public void should_return_the_expected_objects() + { + sut.BuildingBlock().ShouldBeEqualTo(_module.PassiveTransports); + sut.BuildingBlock().ShouldBeEqualTo(_module.SpatialStructure); + sut.BuildingBlock().ShouldBeEqualTo(_module.Observers); + sut.BuildingBlock().ShouldBeNull(); + sut.BuildingBlock().ShouldBeEqualTo(_module.Reactions); + sut.BuildingBlock().ShouldBeEqualTo(_module.Molecules); + } + } } \ No newline at end of file diff --git a/tests/OSPSuite.Core.Tests/Domain/MoleculeAmountSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/MoleculeAmountSpecs.cs index 4541648e5..d0c1446eb 100644 --- a/tests/OSPSuite.Core.Tests/Domain/MoleculeAmountSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/MoleculeAmountSpecs.cs @@ -4,7 +4,7 @@ namespace OSPSuite.Core.Domain { - public abstract class concern_for_MoleculeAmount : ContextSpecification + public abstract class concern_for_MoleculeAmount : ContextSpecification { protected override void Context() { diff --git a/tests/OSPSuite.Core.Tests/Domain/MoleculeBuildingBlockSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/MoleculeBuildingBlockSpecs.cs index 2fb78858d..6dd9ab36d 100644 --- a/tests/OSPSuite.Core.Tests/Domain/MoleculeBuildingBlockSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/MoleculeBuildingBlockSpecs.cs @@ -16,14 +16,14 @@ protected override void Context() public class When_accessed_through_index : concern_for_MoleculeBuildingBlock { - private IMoleculeBuilder _result; - private IMoleculeBuilder _drug; + private MoleculeBuilder _result; + private MoleculeBuilder _drug; protected override void Context() { base.Context(); - sut.Add(A.Fake().WithName("Protein")); - _drug = A.Fake().WithName("Drug"); + sut.Add(A.Fake().WithName("Protein")); + _drug = A.Fake().WithName("Drug"); sut.Add(_drug); } @@ -42,7 +42,7 @@ public void should_return_the_right_object() public class When_retrieving_the_present_molecules_based_on_the_given_molecule_values : concern_for_MoleculeBuildingBlock { private MoleculeStartValuesBuildingBlock _moleculeStartValues; - private IEnumerable _results; + private IEnumerable _results; private MoleculeBuilder _molecule; private MoleculeBuilder _drug; diff --git a/tests/OSPSuite.Core.Tests/Domain/MoleculeBuildingBlockValidatorSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/MoleculeBuildingBlockValidatorSpecs.cs index a87febecf..cd9cfe848 100644 --- a/tests/OSPSuite.Core.Tests/Domain/MoleculeBuildingBlockValidatorSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/MoleculeBuildingBlockValidatorSpecs.cs @@ -9,12 +9,12 @@ namespace OSPSuite.Core.Domain public abstract class concern_for_MoleculeBuildingBlockValidator : ContextSpecification { protected MoleculeBuildingBlock _moleculeBuildingBlock; - protected IMoleculeBuilder _molecule1; - protected IMoleculeBuilder _molecule2; + protected MoleculeBuilder _molecule1; + protected MoleculeBuilder _molecule2; protected IParameter _validParameter; protected IParameter _invalidParameter; protected IParameter _invalidParameterWithFormula; - private IMoleculeBuilder _molecule3; + private MoleculeBuilder _molecule3; protected override void Context() { diff --git a/tests/OSPSuite.Core.Tests/Domain/MoleculePropertiesContainerTaskSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/MoleculePropertiesContainerTaskSpecs.cs index f7f1ba6e5..f95dda029 100644 --- a/tests/OSPSuite.Core.Tests/Domain/MoleculePropertiesContainerTaskSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/MoleculePropertiesContainerTaskSpecs.cs @@ -50,7 +50,7 @@ public void should_create_a_molecule_container_into_the_neighborhood_and_return_ internal class When_creating_the_global_molecule_container_for_a_given_molecule_builder : concern_for_MoleculePropertiesContainerTask { private IContainer _result; - private IMoleculeBuilder _moleculeBuilder; + private MoleculeBuilder _moleculeBuilder; private IContainer _moleculeContainer; private IParameter _para1; private IParameter _para2; @@ -84,8 +84,10 @@ protected override void Context() A.CallTo(() => _parameterCollectionMapper.MapAllFrom(_globalMoleculeDependentProperties, _simulationBuilder)) .Returns(new[] {_globalMoleculeDepParam1, _globalMoleculeDepParam2}); - var spatialStructure = A.Fake(); - A.CallTo(() => spatialStructure.GlobalMoleculeDependentProperties).Returns(_globalMoleculeDependentProperties); + var spatialStructure = new SpatialStructure + { + GlobalMoleculeDependentProperties = _globalMoleculeDependentProperties + }; var module = new Module { SpatialStructure = spatialStructure @@ -122,7 +124,7 @@ public void should_add_all_global_molecule_dependent_parameters_to_molecule_cont internal class When_creating_the_global_molecule_container_for_a_given_molecule_builder_with_interaction_containers : concern_for_MoleculePropertiesContainerTask { private IContainer _result; - private IMoleculeBuilder _moleculeBuilder; + private MoleculeBuilder _moleculeBuilder; private IParameter _para; protected override void Context() @@ -166,7 +168,7 @@ public void should_add_the_interaction_parameters() internal class When_creating_the_global_molecule_container_for_a_given_xenobiotic_molecule_builder : concern_for_MoleculePropertiesContainerTask { private IContainer _result; - private IMoleculeBuilder _moleculeBuilder; + private MoleculeBuilder _moleculeBuilder; private IContainer _moleculeContainer; private IParameter _para1; private IContainer _globalMoleculeDependentProperties; @@ -175,7 +177,7 @@ internal class When_creating_the_global_molecule_container_for_a_given_xenobioti protected override void Context() { base.Context(); - _moleculeBuilder = A.Fake().WithName("tralal"); + _moleculeBuilder =new MoleculeBuilder().WithName("tralala"); _moleculeBuilder.IsFloating = true; _moleculeBuilder.IsXenobiotic = false; _moleculeContainer = A.Fake(); @@ -193,8 +195,10 @@ protected override void Context() A.CallTo(() => _parameterCollectionMapper.MapGlobalOrPropertyFrom(_globalMoleculeDependentProperties, _simulationBuilder)) .Returns(new[] {_globalMoleculeDepParam1}); - var spatialStructure = A.Fake(); - A.CallTo(() => spatialStructure.GlobalMoleculeDependentProperties).Returns(_globalMoleculeDependentProperties); + var spatialStructure = new SpatialStructure + { + GlobalMoleculeDependentProperties = _globalMoleculeDependentProperties + }; var module = new Module { SpatialStructure = spatialStructure diff --git a/tests/OSPSuite.Core.Tests/Domain/ParameterFactorySpecs.cs b/tests/OSPSuite.Core.Tests/Domain/ParameterFactorySpecs.cs index 8df6fa27a..6140ded31 100644 --- a/tests/OSPSuite.Core.Tests/Domain/ParameterFactorySpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/ParameterFactorySpecs.cs @@ -76,14 +76,14 @@ public void the_returned_parameter_should_have_the_mode_set_to_local() public class When_the_parameter_factory_is_creating_a_start_value_parameter_for_a_given_molecule_amount_and_formula : concern_for_ParameterFactory { private IFormula _modelFormulaToUse; - private IMoleculeAmount _moleculeAmount; + private MoleculeAmount _moleculeAmount; private IParameter _parameter; protected override void Context() { base.Context(); _modelFormulaToUse = A.Fake(); - _moleculeAmount = A.Fake(); + _moleculeAmount = A.Fake(); } protected override void Because() diff --git a/tests/OSPSuite.Core.Tests/Domain/ProcessBuilderExtensionsSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/ProcessBuilderExtensionsSpecs.cs index 49f6bd29d..b91bb4e0e 100644 --- a/tests/OSPSuite.Core.Tests/Domain/ProcessBuilderExtensionsSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/ProcessBuilderExtensionsSpecs.cs @@ -8,15 +8,14 @@ namespace OSPSuite.Core.Domain { public abstract class concern_for_process_builder_extensions : StaticContextSpecification { - protected IProcessBuilder _processBuilder; + protected ProcessBuilder _processBuilder; protected override void Context() { - _processBuilder = A.Fake(); + _processBuilder = new ReactionBuilder(); } } - public class When_setting_the_kinetic_of_a_process_builder_with_the_extensions : concern_for_process_builder_extensions { private IFormula _formula; @@ -26,14 +25,16 @@ protected override void Context() base.Context(); _formula = A.Fake(); } + protected override void Because() { _processBuilder.WithKinetic(_formula); } + [Observation] public void should_have_set_the_formula_of_the_object() { _processBuilder.Formula.ShouldBeEqualTo(_formula); } } -} \ No newline at end of file +} \ No newline at end of file diff --git a/tests/OSPSuite.Core.Tests/Domain/ProcessRateParameterCreatorSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/ProcessRateParameterCreatorSpecs.cs index bb7c549eb..95b6ddfed 100644 --- a/tests/OSPSuite.Core.Tests/Domain/ProcessRateParameterCreatorSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/ProcessRateParameterCreatorSpecs.cs @@ -24,7 +24,7 @@ internal class When_creating_a_parameter_rate_for_a_process_builder : concern_fo { private IFormula _kinetic; private IParameter _processRateParameter; - private IProcessBuilder _processBuilder; + private ProcessBuilder _processBuilder; private SimulationConfiguration _simulationConfiguration; private FormulaUsablePath _formulaUsablePathB; private FormulaUsablePath _formulaUsablePathA; diff --git a/tests/OSPSuite.Core.Tests/Domain/ReactionBuilderSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/ReactionBuilderSpecs.cs index f6f9065f0..cfe4d92d3 100644 --- a/tests/OSPSuite.Core.Tests/Domain/ReactionBuilderSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/ReactionBuilderSpecs.cs @@ -4,7 +4,7 @@ namespace OSPSuite.Core.Domain { - public abstract class concern_for_ReactionBuilder : ContextSpecification + public abstract class concern_for_ReactionBuilder : ContextSpecification { protected override void Context() { diff --git a/tests/OSPSuite.Core.Tests/Domain/ReactionCreatorSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/ReactionCreatorSpecs.cs index 6c706327c..553e84d00 100644 --- a/tests/OSPSuite.Core.Tests/Domain/ReactionCreatorSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/ReactionCreatorSpecs.cs @@ -16,13 +16,13 @@ internal abstract class concern_for_ReactionCreator : ContextSpecification(); _simulationConfiguration = new SimulationConfiguration(); _simulationBuilder = new SimulationBuilder(_simulationConfiguration); - _reactionBuilder = A.Fake(); + _reactionBuilder = new ReactionBuilder(); _reactionBuilder.ContainerCriteria = new DescriptorCriteria(); _reactionBuilder.Description = "A great description"; _reactionBuilder.Name = "Reaction"; - _educt1 = A.Fake(); - _educt1.MoleculeName = "sp1"; - _educt2 = A.Fake(); - _educt2.MoleculeName = "sp2"; - _product1 = A.Fake(); - _product1.MoleculeName = "sp3"; - A.CallTo(() => _reactionBuilder.Educts).Returns(new[] {_educt1, _educt2}); - A.CallTo(() => _reactionBuilder.Products).Returns(new[] {_product1}); - A.CallTo(() => _reactionBuilder.ModifierNames).Returns(new[] {"modifier"}); + _educt1 = new ReactionPartnerBuilder + { + MoleculeName = "sp1" + }; + _educt2 = new ReactionPartnerBuilder + { + MoleculeName = "sp2" + }; + _product1 = new ReactionPartnerBuilder + { + MoleculeName = "sp3" + }; + _reactionBuilder.AddEduct(_educt1); + _reactionBuilder.AddEduct(_educt2); + _reactionBuilder.AddProduct(_product1); + _reactionBuilder.AddModifier("modifier"); _rootContainer = new Container().WithMode(ContainerMode.Physical); _model.Root = _rootContainer; _globalContainer = new Container(); - _reaction = A.Fake().WithName(_reactionBuilder.Name); - A.CallTo(() => _reactionMapper.MapFromLocal(A._, A._, _simulationBuilder)).Returns(_reaction); + _reaction = new Reaction().WithName(_reactionBuilder.Name); + A.CallTo(() => _reactionMapper.MapFromLocal(A._, A._, _simulationBuilder)).Returns(_reaction); A.CallTo(() => _containerTask.CreateOrRetrieveSubContainerByName(_rootContainer, _reactionBuilder.Name)).Returns(_globalContainer); } @@ -78,43 +85,43 @@ protected override void Context() { base.Context(); //root container has all species - _rootContainer.Add(A.Fake().WithName("sp1")); - _rootContainer.Add(A.Fake().WithName("sp2")); - _rootContainer.Add(A.Fake().WithName("sp3")); - _rootContainer.Add(A.Fake().WithName("modifier")); + _rootContainer.Add(new MoleculeAmount().WithName("sp1")); + _rootContainer.Add(new MoleculeAmount().WithName("sp2")); + _rootContainer.Add(new MoleculeAmount().WithName("sp3")); + _rootContainer.Add(new MoleculeAmount().WithName("modifier")); //Liver has only two species _liver = new Container().WithName("Liver").WithMode(ContainerMode.Physical); - _liver.Add(A.Fake().WithName("sp1")); - _liver.Add(A.Fake().WithName("sp3")); + _liver.Add(new MoleculeAmount().WithName("sp1")); + _liver.Add(new MoleculeAmount().WithName("sp3")); _rootContainer.Add(_liver); //SubLiver has all species _subLiver = new Container().WithName("SubLiver").WithMode(ContainerMode.Physical); - _subLiver.Add(A.Fake().WithName("sp1")); - _subLiver.Add(A.Fake().WithName("sp2")); - _subLiver.Add(A.Fake().WithName("sp3")); - _subLiver.Add(A.Fake().WithName("modifier")); + _subLiver.Add(new MoleculeAmount().WithName("sp1")); + _subLiver.Add(new MoleculeAmount().WithName("sp2")); + _subLiver.Add(new MoleculeAmount().WithName("sp3")); + _subLiver.Add(new MoleculeAmount().WithName("modifier")); _liver.Add(_subLiver); //kidney has only one species _kidney = new Container().WithName("Kidney").WithMode(ContainerMode.Physical); - _kidney.Add(A.Fake().WithName("sp1")); + _kidney.Add(new MoleculeAmount().WithName("sp1")); _rootContainer.Add(_kidney); //SubKidney has only modifier _subKidney = new Container().WithName("SubKidney").WithMode(ContainerMode.Physical); - _subKidney.Add(A.Fake().WithName("sp1")); - _subKidney.Add(A.Fake().WithName("sp2")); - _subKidney.Add(A.Fake().WithName("sp3")); + _subKidney.Add(new MoleculeAmount().WithName("sp1")); + _subKidney.Add(new MoleculeAmount().WithName("sp2")); + _subKidney.Add(new MoleculeAmount().WithName("sp3")); _rootContainer.Add(_subKidney); //help container has all species but is logical _helpContainer = new Container().WithName("Helper").WithMode(ContainerMode.Logical); - _helpContainer.Add(A.Fake().WithName("sp1")); - _helpContainer.Add(A.Fake().WithName("sp2")); - _helpContainer.Add(A.Fake().WithName("sp3")); - _helpContainer.Add(A.Fake().WithName("modifier")); + _helpContainer.Add(new MoleculeAmount().WithName("sp1")); + _helpContainer.Add(new MoleculeAmount().WithName("sp2")); + _helpContainer.Add(new MoleculeAmount().WithName("sp3")); + _helpContainer.Add(new MoleculeAmount().WithName("modifier")); _rootContainer.Add(_helpContainer); } @@ -167,10 +174,10 @@ protected override void Context() //help container has all species but is logical _helpContainer = new Container().WithName("Helper").WithMode(ContainerMode.Logical); - _helpContainer.Add(A.Fake().WithName("sp1")); - _helpContainer.Add(A.Fake().WithName("sp2")); - _helpContainer.Add(A.Fake().WithName("sp3")); - _helpContainer.Add(A.Fake().WithName("modifier")); + _helpContainer.Add(new MoleculeAmount().WithName("sp1")); + _helpContainer.Add(new MoleculeAmount().WithName("sp2")); + _helpContainer.Add(new MoleculeAmount().WithName("sp3")); + _helpContainer.Add(new MoleculeAmount().WithName("modifier")); _rootContainer.Add(_helpContainer); } @@ -203,17 +210,17 @@ protected override void Context() _reactionBuilder.ContainerCriteria = Create.Criteria(x => x.With("Liver")); //root container has all species but does not match the criteria - _rootContainer.Add(A.Fake().WithName("sp1")); - _rootContainer.Add(A.Fake().WithName("sp2")); - _rootContainer.Add(A.Fake().WithName("sp3")); - _rootContainer.Add(A.Fake().WithName("modifier")); + _rootContainer.Add(new MoleculeAmount().WithName("sp1")); + _rootContainer.Add(new MoleculeAmount().WithName("sp2")); + _rootContainer.Add(new MoleculeAmount().WithName("sp3")); + _rootContainer.Add(new MoleculeAmount().WithName("modifier")); //Liver has all species and matches the criteria _liver = new Container().WithName("Liver").WithMode(ContainerMode.Physical); - _liver.Add(A.Fake().WithName("sp1")); - _liver.Add(A.Fake().WithName("sp2")); - _liver.Add(A.Fake().WithName("sp3")); - _liver.Add(A.Fake().WithName("modifier")); + _liver.Add(new MoleculeAmount().WithName("sp1")); + _liver.Add(new MoleculeAmount().WithName("sp2")); + _liver.Add(new MoleculeAmount().WithName("sp3")); + _liver.Add(new MoleculeAmount().WithName("modifier")); _rootContainer.Add(_liver); } diff --git a/tests/OSPSuite.Core.Tests/Domain/SpatialStructureFactorySpecs.cs b/tests/OSPSuite.Core.Tests/Domain/SpatialStructureFactorySpecs.cs index a3e29ae15..b47106b44 100644 --- a/tests/OSPSuite.Core.Tests/Domain/SpatialStructureFactorySpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/SpatialStructureFactorySpecs.cs @@ -18,14 +18,14 @@ protected override void Context() public class When_creating_a_new_SpatialStructure : concern_for_SpatialStructureFactory { - private ISpatialStructure _result; + private SpatialStructure _result; protected override void Because() { _result = sut.Create(); } [Observation] - public void should_return_a_proper_initialised_spatial_structure() + public void should_return_a_proper_initialized_spatial_structure() { _result.ShouldNotBeNull(); } diff --git a/tests/OSPSuite.Core.Tests/Domain/TableFormulaWithOffsetSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/TableFormulaWithOffsetSpecs.cs index 52aed5a71..5dcc60ca8 100644 --- a/tests/OSPSuite.Core.Tests/Domain/TableFormulaWithOffsetSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/TableFormulaWithOffsetSpecs.cs @@ -11,7 +11,7 @@ public abstract class concern_for_TableFormulaWithOffset : ContextSpecification< protected IDimension _dimensionLength; protected TableFormula _tableFormula; protected IParameter _offsetObject, _tableObject; - protected IMoleculeAmount _dependentObject; + protected MoleculeAmount _dependentObject; protected const string _tableObjectAlias = "T1"; protected const string _offsetObjectAlias = "P1"; diff --git a/tests/OSPSuite.Core.Tests/Domain/TableFormulaWithXArgumentSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/TableFormulaWithXArgumentSpecs.cs index 77ecd46d9..104bf1cf6 100644 --- a/tests/OSPSuite.Core.Tests/Domain/TableFormulaWithXArgumentSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/TableFormulaWithXArgumentSpecs.cs @@ -14,7 +14,7 @@ public abstract class concern_for_TableFormulaWithXArgument : ContextSpecificati protected IDimension _dimensionLength; protected TableFormula _tableFormula; protected IParameter _xArgumentObject, _tableObject; - protected IMoleculeAmount _dependentObject; + protected MoleculeAmount _dependentObject; private Container _container; protected IParameter _parameter; protected const string _tableObjectAlias = "T1"; diff --git a/tests/OSPSuite.Core.Tests/Domain/TransportBuilderSpecs.cs b/tests/OSPSuite.Core.Tests/Domain/TransportBuilderSpecs.cs index 6cdf0d35d..d28d4d813 100644 --- a/tests/OSPSuite.Core.Tests/Domain/TransportBuilderSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Domain/TransportBuilderSpecs.cs @@ -13,7 +13,7 @@ namespace OSPSuite.Core.Domain { - public abstract class concern_for_TransportBuilder : ContextSpecification + public abstract class concern_for_TransportBuilder : ContextSpecification { protected override void Context() @@ -143,7 +143,7 @@ public void adding_molecule_name_to_exclude_already_defined_in_include_list_shou public class when_cloning_transport_builder_for_building_block : concern_for_TransportBuilder { - protected ITransportBuilder _clone; + protected TransportBuilder _clone; protected ICloneManagerForBuildingBlock _cloneManagerForBuildingBlock; private IDataRepositoryTask _dataRepositoryTask; diff --git a/tests/OSPSuite.Core.Tests/Mappers/MoleculeBuilderToMoleculeAmountMapperSpecs.cs b/tests/OSPSuite.Core.Tests/Mappers/MoleculeBuilderToMoleculeAmountMapperSpecs.cs index d70ac9534..edcbfb5f0 100644 --- a/tests/OSPSuite.Core.Tests/Mappers/MoleculeBuilderToMoleculeAmountMapperSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Mappers/MoleculeBuilderToMoleculeAmountMapperSpecs.cs @@ -41,8 +41,8 @@ protected override void Context() internal class When_mapping_a_molecule_builder_to_a_molecule_amount : concern_for_MoleculeBuilderToMoleculeAmountMapper { - private IMoleculeBuilder _moleculeBuilder; - private IMoleculeAmount _moleculeAmount; + private MoleculeBuilder _moleculeBuilder; + private MoleculeAmount _moleculeAmount; private IFormula _mappedFormula; private IParameter _para1; private IParameter _para2; @@ -75,7 +75,7 @@ protected override void Context() _para1 = new Parameter().WithName("P1"); _para2 = new Parameter().WithName("P2"); _para3 = new Parameter().WithName("P3"); - A.CallTo(() => _objectBaseFactory.Create()).Returns(new MoleculeAmount()); + A.CallTo(() => _objectBaseFactory.Create()).Returns(new MoleculeAmount()); A.CallTo(() => _dimensionFactory.Dimension(Constants.Dimension.MOLAR_AMOUNT)).Returns(_amountDimension); _simulationBuilder = new SimulationBuilder(_simulationConfiguration); A.CallTo(() => _formulaMapper.MapFrom(_moleculeBuilder.DefaultStartFormula, _simulationBuilder)).Returns(_mappedFormula); @@ -123,8 +123,8 @@ public void should_replace_keywords_including_molecule() internal class When_mapping_a_molecule_builder_using_concentration_to_a_molecule_amount : concern_for_MoleculeBuilderToMoleculeAmountMapper { - private IMoleculeBuilder _moleculeBuilder; - private IMoleculeAmount _moleculeAmount; + private MoleculeBuilder _moleculeBuilder; + private MoleculeAmount _moleculeAmount; private IFormula _mappedFormula; private IDimension _concentrationDimension; private IFormula _startValueReferenceFormula; @@ -138,14 +138,14 @@ protected override void Context() _concentrationDimension = A.Fake(); _startValueReferenceFormula = A.Fake(); A.CallTo(() => _concentrationDimension.Name).Returns(Constants.Dimension.MOLAR_CONCENTRATION); - _moleculeBuilder = A.Fake().WithDimension(_concentrationDimension); + _moleculeBuilder =new MoleculeBuilder().WithDimension(_concentrationDimension); _moleculeBuilder.DisplayUnit = A.Fake(); _mappedFormula = A.Fake(); _simulationBuilder = new SimulationBuilder(_simulationConfiguration); A.CallTo(() => _formulaMapper.MapFrom(_moleculeBuilder.DefaultStartFormula, _simulationBuilder)).Returns(_mappedFormula); - A.CallTo(() => _objectBaseFactory.Create()).ReturnsLazily(() => new MoleculeAmount()); + A.CallTo(() => _objectBaseFactory.Create()).ReturnsLazily(() => new MoleculeAmount()); var startValueParameter = new Parameter().WithName(Constants.Parameters.START_VALUE); - A.CallTo(() => _parameterFactory.CreateStartValueParameter(A._, _mappedFormula, _moleculeBuilder.DisplayUnit)).Returns(startValueParameter); + A.CallTo(() => _parameterFactory.CreateStartValueParameter(A._, _mappedFormula, _moleculeBuilder.DisplayUnit)).Returns(startValueParameter); A.CallTo(() => _formulaFactory.CreateMoleculeAmountReferenceToStartValue(startValueParameter)).Returns(_startValueReferenceFormula); } diff --git a/tests/OSPSuite.Core.Tests/Mappers/ObserverBuilderToObserverMapperSpecs.cs b/tests/OSPSuite.Core.Tests/Mappers/ObserverBuilderToObserverMapperSpecs.cs index 4478d53ce..4714ecbf9 100644 --- a/tests/OSPSuite.Core.Tests/Mappers/ObserverBuilderToObserverMapperSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Mappers/ObserverBuilderToObserverMapperSpecs.cs @@ -24,9 +24,9 @@ protected override void Context() internal class When_mapping_an_observer_from_an_observer_builder : concern_for_ObserverBuilderToObserverMapper { - private IObserverBuilder _observerBuilder; + private ObserverBuilder _observerBuilder; private IFormula _mappedFormula; - private IObserver _observer; + private Observer _observer; private SimulationConfiguration _simulationConfiguration; private SimulationBuilder _simulationBuilder; @@ -35,10 +35,10 @@ protected override void Context() base.Context(); _simulationConfiguration = new SimulationConfiguration(); _simulationBuilder = new SimulationBuilder(_simulationConfiguration); - _observerBuilder = A.Fake().WithName("toto").WithDimension(A.Fake()); + _observerBuilder =new ObserverBuilder().WithName("toto").WithDimension(A.Fake()); _observerBuilder.Formula = A.Fake(); _mappedFormula = A.Fake(); - A.CallTo(() => _objectBaseFactory.Create()).Returns(A.Fake()); + A.CallTo(() => _objectBaseFactory.Create()).Returns(A.Fake()); A.CallTo(() => _formulaMapper.MapFrom(_observerBuilder.Formula, _simulationBuilder)).Returns(_mappedFormula); } diff --git a/tests/OSPSuite.Core.Tests/Mappers/ReactionBuilderToReactionMapperSpecs.cs b/tests/OSPSuite.Core.Tests/Mappers/ReactionBuilderToReactionMapperSpecs.cs index fa8a27605..315821fee 100644 --- a/tests/OSPSuite.Core.Tests/Mappers/ReactionBuilderToReactionMapperSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Mappers/ReactionBuilderToReactionMapperSpecs.cs @@ -17,12 +17,12 @@ internal abstract class concern_for_ReactionBuilderToReactionMapper : ContextSpe protected IObjectBaseFactory _objectBaseFactory; protected IFormulaBuilderToFormulaMapper _formulaMapper; protected IParameterBuilderCollectionToParameterCollectionMapper _parameterMapper; - protected IReaction _reaction; - protected IReactionBuilder _reactionBuilder; - protected IReactionPartner _educt1; - protected IReactionPartner _educt2; - protected IReactionPartner _prod1; - protected IReactionPartner _prod2; + protected Reaction _reaction; + protected ReactionBuilder _reactionBuilder; + protected ReactionPartner _educt1; + protected ReactionPartner _educt2; + protected ReactionPartner _prod1; + protected ReactionPartner _prod2; protected IContainer _container; protected string _modifier; protected SimulationConfiguration _simulationConfiguration; @@ -45,18 +45,18 @@ protected override void Context() _parameterMapper = A.Fake(); _dimensionFactory = A.Fake(); _modifier = "MOD"; - _reactionBuilder = A.Fake().WithName("MyReaction"); + _reactionBuilder = new ReactionBuilder().WithName("MyReaction"); _reactionBuilder.Dimension = _amountPerTimeDimension; _simulationConfiguration = new SimulationConfiguration(); _reactionBuilder.Formula = A.Fake(); - var edPartner1 = A.Fake(); - var edPartner2 = A.Fake(); - var prodPartner1 = A.Fake(); - var prodPartner2 = A.Fake(); - _educt1 = A.Fake(); - _prod1 = A.Fake(); - _educt2 = A.Fake(); - _prod2 = A.Fake(); + var edPartner1 = new ReactionPartnerBuilder(); + var edPartner2 = new ReactionPartnerBuilder(); + var prodPartner1 = new ReactionPartnerBuilder(); + var prodPartner2 = new ReactionPartnerBuilder(); + _educt1 = A.Fake(); + _prod1 = A.Fake(); + _educt2 = A.Fake(); + _prod2 = A.Fake(); _container = A.Fake(); _simulationBuilder = new SimulationBuilder(_simulationConfiguration); A.CallTo(() => _dimensionFactory.Dimension(Constants.Dimension.AMOUNT_PER_TIME)).Returns(_amountPerTimeDimension); @@ -65,11 +65,12 @@ protected override void Context() A.CallTo(() => _reactionPartnerMapper.MapFromLocal(prodPartner1, _container, _simulationBuilder)).Returns(_prod1); A.CallTo(() => _reactionPartnerMapper.MapFromLocal(prodPartner2, _container, _simulationBuilder)).Returns(_prod2); A.CallTo(() => _formulaMapper.MapFrom(_reactionBuilder.Formula, _simulationBuilder)).Returns(_reactionBuilder.Formula); - A.CallTo(() => _reactionBuilder.Educts).Returns(new[] {edPartner1, edPartner2}); - A.CallTo(() => _reactionBuilder.Products).Returns(new[] {prodPartner1, prodPartner2}); - A.CallTo(() => _reactionBuilder.Parameters).Returns(Array.Empty()); - A.CallTo(() => _reactionBuilder.ModifierNames).Returns(new[] {_modifier}); - A.CallTo(() => _objectBaseFactory.Create()).Returns(new Reaction()); + _reactionBuilder.AddEduct(edPartner1); + _reactionBuilder.AddEduct(edPartner2); + _reactionBuilder.AddProduct(prodPartner1); + _reactionBuilder.AddProduct(prodPartner2); + _reactionBuilder.AddModifier(_modifier); + A.CallTo(() => _objectBaseFactory.Create()).Returns(new Reaction()); A.CallTo(() => _parameterMapper.MapFrom(_reactionBuilder.Parameters, _simulationBuilder, ParameterBuildMode.Local)).Returns(new List()); _processRateParameterCreator = new ProcessRateParameterCreator(_objectBaseFactory, _formulaMapper); sut = new ReactionBuilderToReactionMapper(_objectBaseFactory, _reactionPartnerMapper, _formulaMapper, _parameterMapper, _processRateParameterCreator); diff --git a/tests/OSPSuite.Core.Tests/Mappers/ReactionPartnerBuilderToReactionPartnerMapperSpecs.cs b/tests/OSPSuite.Core.Tests/Mappers/ReactionPartnerBuilderToReactionPartnerMapperSpecs.cs index 81e949c3c..50479e50e 100644 --- a/tests/OSPSuite.Core.Tests/Mappers/ReactionPartnerBuilderToReactionPartnerMapperSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Mappers/ReactionPartnerBuilderToReactionPartnerMapperSpecs.cs @@ -4,11 +4,10 @@ using OSPSuite.Core.Domain; using OSPSuite.Core.Domain.Builder; using OSPSuite.Core.Domain.Mappers; -using OSPSuite.Helpers; namespace OSPSuite.Core.Mappers { - internal abstract class concern_for_reaction_partner_builder_to_reaction_partner_mapper : ContextSpecification + internal abstract class concern_for_ReactionPartnerBuilderToReactionPartnerMapper : ContextSpecification { protected override void Context() { @@ -16,24 +15,24 @@ protected override void Context() } } - internal class When_mapping_a_reaction_partner_builder_to_a_reaction_partner : concern_for_reaction_partner_builder_to_reaction_partner_mapper + internal class When_mapping_a_reaction_partner_builder_to_a_reaction_partner : concern_for_ReactionPartnerBuilderToReactionPartnerMapper { - private IReactionPartnerBuilder _reactionPartnerBuilder; - private IReactionPartner _reactionPartner; + private ReactionPartnerBuilder _reactionPartnerBuilder; + private ReactionPartner _reactionPartner; private IContainer _container; - private IMoleculeAmount _moleculeAmount; + private MoleculeAmount _moleculeAmount; private SimulationConfiguration _simulationConfiguration; private SimulationBuilder _simulationBuilder; protected override void Context() { base.Context(); - _reactionPartnerBuilder = A.Fake(); + _reactionPartnerBuilder = new ReactionPartnerBuilder(); _simulationConfiguration = new SimulationConfiguration(); _simulationBuilder = new SimulationBuilder(_simulationConfiguration); _container = new Container(); _reactionPartnerBuilder.MoleculeName = "Drug"; - _moleculeAmount = A.Fake().WithName("Drug"); + _moleculeAmount = new MoleculeAmount().WithName("Drug"); _container.Add(_moleculeAmount); _reactionPartnerBuilder.StoichiometricCoefficient = 1.1; } @@ -56,9 +55,9 @@ public void should_have_set_the_partner_property_to_molecule_amount() } } - internal class When_mapping_a_reaction_partner_builder_to_a_reaction_partner_missing_a_amount : concern_for_reaction_partner_builder_to_reaction_partner_mapper + internal class When_mapping_a_reaction_partner_builder_to_a_reaction_partner_missing_a_amount : concern_for_ReactionPartnerBuilderToReactionPartnerMapper { - private IReactionPartnerBuilder _reactionPartnerBuilder; + private ReactionPartnerBuilder _reactionPartnerBuilder; private IContainer _container; private SimulationConfiguration _simulationConfiguration; private SimulationBuilder _simulationBuilder; @@ -66,7 +65,7 @@ internal class When_mapping_a_reaction_partner_builder_to_a_reaction_partner_mis protected override void Context() { base.Context(); - _reactionPartnerBuilder = A.Fake(); + _reactionPartnerBuilder = new ReactionPartnerBuilder(); _container = new Container(); _simulationConfiguration = new SimulationConfiguration(); _simulationBuilder = new SimulationBuilder(_simulationConfiguration); diff --git a/tests/OSPSuite.Core.Tests/Mappers/TransportBuilderToTransportMapperSpecs.cs b/tests/OSPSuite.Core.Tests/Mappers/TransportBuilderToTransportMapperSpecs.cs index 56b981381..feeacc355 100644 --- a/tests/OSPSuite.Core.Tests/Mappers/TransportBuilderToTransportMapperSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Mappers/TransportBuilderToTransportMapperSpecs.cs @@ -26,7 +26,7 @@ protected override void Context() _simulationConfiguration = new SimulationConfiguration(); _simulationBuilder = new SimulationBuilder(_simulationConfiguration); _objectBaseFactory = A.Fake(); - A.CallTo(() => _objectBaseFactory.Create()).Returns(new Transport()); + A.CallTo(() => _objectBaseFactory.Create()).Returns(new Transport()); _formulaBuilderToFormulaMapper = A.Fake(); _parameterMapper = A.Fake(); _processRateParameterCreator = new ProcessRateParameterCreator(_objectBaseFactory, _formulaBuilderToFormulaMapper); @@ -36,9 +36,9 @@ protected override void Context() internal class When_mapping_a_transport_builder_to_a_transport : concern_for_TransportBuilderToTransportMapper { - private ITransportBuilder _passiveTransportBuilder; + private TransportBuilder _passiveTransportBuilder; private IFormula _kinetic; - private ITransport _transport; + private Transport _transport; protected override void Context() { @@ -77,9 +77,9 @@ public void should_have_added_the_transport_builder_as_reference_to_the_transpor internal class When_mapping_an_active_influx_transport_builder_to_a_transport_for_which_a_parameter_rate_should_be_generated : concern_for_TransportBuilderToTransportMapper { - private ITransportBuilder _transportBuilder; + private TransportBuilder _transportBuilder; private IFormula _kinetic; - private ITransport _transport; + private Transport _transport; private IParameter _processRateParameter; protected override void Context() @@ -156,9 +156,9 @@ public void the_formula_of_the_process_rate_parameter_should_have_been_set_to_a_ internal class When_mapping_an_active_efflux_transport_builder_to_a_transport_for_which_a_parameter_rate_should_be_generated : concern_for_TransportBuilderToTransportMapper { - private ITransportBuilder _transportBuilder; + private TransportBuilder _transportBuilder; private IFormula _kinetic; - private ITransport _transport; + private Transport _transport; private IParameter _processRateParameter; protected override void Context() @@ -241,9 +241,9 @@ public void the_formula_of_the_process_rate_parameter_should_have_been_set_to_a_ internal class When_mapping_a_passive_builder_to_a_transport_for_which_a_parameter_rate_should_be_generated : concern_for_TransportBuilderToTransportMapper { - private ITransportBuilder _transportBuilder; + private TransportBuilder _transportBuilder; private IFormula _kinetic; - private ITransport _transport; + private Transport _transport; private IParameter _processRateParameter; protected override void Context() diff --git a/tests/OSPSuite.Core.Tests/Services/ConcentrationBasedFormulaUpdaterSpecs.cs b/tests/OSPSuite.Core.Tests/Services/ConcentrationBasedFormulaUpdaterSpecs.cs index ede940473..101cc7cf7 100644 --- a/tests/OSPSuite.Core.Tests/Services/ConcentrationBasedFormulaUpdaterSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Services/ConcentrationBasedFormulaUpdaterSpecs.cs @@ -106,7 +106,7 @@ public void should_add_a_reference_to_the_volume_of_the_container() public class When_updating_the_references_used_in_a_start_value_formula : concern_for_ConcentrationBasedFormulaUpdater { private IFormula _formula; - private IMoleculeAmount _molecule; + private MoleculeAmount _molecule; protected override void Context() { diff --git a/tests/OSPSuite.Core.Tests/Services/CreateExportModelVisitorSpecs.cs b/tests/OSPSuite.Core.Tests/Services/CreateExportModelVisitorSpecs.cs index dbbd0038e..a1373e32c 100644 --- a/tests/OSPSuite.Core.Tests/Services/CreateExportModelVisitorSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Services/CreateExportModelVisitorSpecs.cs @@ -52,8 +52,8 @@ public class When_visiting_an_event : concern_for_CreateExportModelVisitor private ExplicitFormula _altFormula; private Parameter _changedEntity; private SimulationExport _res; - private IEvent _event; - private IEventAssignment _assignment; + private Event _event; + private EventAssignment _assignment; protected override void Context() { @@ -115,9 +115,9 @@ public void should_create_the_correct_assignment() public abstract class When_visiting_a_reaction : concern_for_CreateExportModelVisitor { protected SimulationExport _simulationExport; - private IMoleculeAmount _spA; - private IMoleculeAmount _spB; - protected IReaction _reaction; + private MoleculeAmount _spA; + private MoleculeAmount _spB; + protected Reaction _reaction; protected IDimension _reactionDimension; protected Parameter _volume; protected ExplicitFormula _kinetic; diff --git a/tests/OSPSuite.Core.Tests/Services/FormulaUsageCheckerSpecs.cs b/tests/OSPSuite.Core.Tests/Services/FormulaUsageCheckerSpecs.cs index c70b32fd2..713779a06 100644 --- a/tests/OSPSuite.Core.Tests/Services/FormulaUsageCheckerSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Services/FormulaUsageCheckerSpecs.cs @@ -12,7 +12,7 @@ public abstract class concern_for_FormulaUsageChecker : ContextSpecification().QuantityType.Is(QuantityType.Drug).ShouldBeTrue(); - _molecule1Container2.Children.First().DowncastTo().QuantityType.Is(QuantityType.Drug).ShouldBeTrue(); - _molecule2Container2.Children.First().DowncastTo().QuantityType.Is(QuantityType.Enzyme).ShouldBeTrue(); + _molecule1Container1.Children.First().DowncastTo().QuantityType.Is(QuantityType.Drug).ShouldBeTrue(); + _molecule1Container2.Children.First().DowncastTo().QuantityType.Is(QuantityType.Drug).ShouldBeTrue(); + _molecule2Container2.Children.First().DowncastTo().QuantityType.Is(QuantityType.Enzyme).ShouldBeTrue(); } [Observation] public void should_create_one_observer_only_for_the_molecule_for_which_the_observer_was_defined_if_the_physical_container_satisfies_the_observer_criteria_and_if_the_observer_is_not_for_all() { - //one for observer 1 and and observer 2 since container 1 is the only one satifying observer 2 conditions + //one for observer 1 and and observer 2 since container 1 is the only one satisfying observer 2 conditions _molecule2Container1.Children.Count().ShouldBeEqualTo(2); } } diff --git a/tests/OSPSuite.Core.Tests/Services/ScaleDivisorCalculatorSpecs.cs b/tests/OSPSuite.Core.Tests/Services/ScaleDivisorCalculatorSpecs.cs index 0ae5db82b..c8d686c5b 100644 --- a/tests/OSPSuite.Core.Tests/Services/ScaleDivisorCalculatorSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Services/ScaleDivisorCalculatorSpecs.cs @@ -18,8 +18,8 @@ namespace OSPSuite.Core.Services public abstract class concern_for_ScaleDivisorCalculator : ContextSpecification { protected IModelCoreSimulation _simulation; - private IMoleculeAmount _moleculeAmount1; - private IMoleculeAmount _moleculeAmount2; + private MoleculeAmount _moleculeAmount1; + private MoleculeAmount _moleculeAmount2; protected DataRepository _originalResults; protected DataColumn _originalDataColumn; protected string _molecule1Path; @@ -27,7 +27,7 @@ public abstract class concern_for_ScaleDivisorCalculator : ContextSpecification< private ISimModelManager _simModelManager; private IContainerTask _containerTask; protected ScaleDivisorOptions _options; - protected PathCache _moleculeAmountCache; + protected PathCache _moleculeAmountCache; private IObjectPathFactory _objectPathFactory; protected override void Context() @@ -38,7 +38,7 @@ protected override void Context() _simModelManager = A.Fake(); _containerTask = A.Fake(); _options = new ScaleDivisorOptions(); - _moleculeAmountCache = new PathCache(entityPathFactory); + _moleculeAmountCache = new PathCache(entityPathFactory); var rootContainer = new ARootContainer().WithName(_simulation.Name) .WithContainerType(ContainerType.Simulation); @@ -62,7 +62,7 @@ protected override void Context() _originalDataColumn.QuantityInfo.Path = _objectPathFactory.CreateAbsoluteObjectPath(_moleculeAmount1); _originalResults.Add(_originalDataColumn); - A.CallTo(_containerTask).WithReturnType>().Returns(_moleculeAmountCache); + A.CallTo(_containerTask).WithReturnType>().Returns(_moleculeAmountCache); var simResults = new DataRepository(); var baseGrid2 = new BaseGrid("Time", Constants.Dimension.NO_DIMENSION) {Values = new[] {0f, 1f, 2f, 3f}}; var res1 = new DataColumn("M1", Constants.Dimension.NO_DIMENSION, baseGrid2) {Values = new[] {0f, 10f, 20f, 30f}}; diff --git a/tests/OSPSuite.Core.Tests/Services/SimulationConfigurationValidatorSpecs.cs b/tests/OSPSuite.Core.Tests/Services/SimulationConfigurationValidatorSpecs.cs index 3481cf0b1..81f09554a 100644 --- a/tests/OSPSuite.Core.Tests/Services/SimulationConfigurationValidatorSpecs.cs +++ b/tests/OSPSuite.Core.Tests/Services/SimulationConfigurationValidatorSpecs.cs @@ -20,8 +20,8 @@ internal class When_validating_a_simulation_configuration_with_an_incorrect_appl { private SimulationConfiguration _simulationConfiguration; private ValidationResult _validationResults; - private IEventGroupBuildingBlock _eventBuildingBlock; - private IApplicationBuilder _applicationBuilder; + private EventGroupBuildingBlock _eventBuildingBlock; + private ApplicationBuilder _applicationBuilder; private MoleculeBuildingBlock _moleculeBuildingBlock; protected override void Context() diff --git a/tests/OSPSuite.HelpersForTests/ConcentrationBaseModelHelperForSpecs.cs b/tests/OSPSuite.HelpersForTests/ConcentrationBaseModelHelperForSpecs.cs index 61f90c22f..84cbe3ff5 100644 --- a/tests/OSPSuite.HelpersForTests/ConcentrationBaseModelHelperForSpecs.cs +++ b/tests/OSPSuite.HelpersForTests/ConcentrationBaseModelHelperForSpecs.cs @@ -107,10 +107,10 @@ private void setMoleculeStartValues(MoleculeStartValuesBuildingBlock moleculeSta lung_B.Value = 100; } - private IReactionBuildingBlock getReactions() + private ReactionBuildingBlock getReactions() { - var reactions = _objectBaseFactory.Create(); - var R1 = _objectBaseFactory.Create() + var reactions = _objectBaseFactory.Create(); + var R1 = _objectBaseFactory.Create() .WithName("R1") .WithKinetic(R1Formula(reactions.FormulaCache)) .WithDimension(_concentrationPerTimeDimension); @@ -171,7 +171,7 @@ private MoleculeBuildingBlock getMolecules() return molecules; } - private ISpatialStructure getSpatialStructure() + private SpatialStructure getSpatialStructure() { var spatialStructure = _spatialStructureFactory.Create().WithName("SPATIAL STRUCTURE"); diff --git a/tests/OSPSuite.HelpersForTests/ModelHelperForSpecs.cs b/tests/OSPSuite.HelpersForTests/ModelHelperForSpecs.cs index 2b882610b..588776725 100644 --- a/tests/OSPSuite.HelpersForTests/ModelHelperForSpecs.cs +++ b/tests/OSPSuite.HelpersForTests/ModelHelperForSpecs.cs @@ -157,9 +157,9 @@ private OutputSchema createDefaultOutputSchema() return _outputSchemaFactory.Create(0, 1440, 240); } - private IEnumerable allCalculationMethods() + private IEnumerable allCalculationMethods() { - var cm1 = _objectBaseFactory.Create().WithName("CM1"); + var cm1 = _objectBaseFactory.Create().WithName("CM1"); cm1.Category = "PartitionCoeff"; cm1.AddOutputFormula(PartitionCoeff_1(), new ParameterDescriptor("K", Create.Criteria(x => x.With("Cell2Plasma")))); var helpMeLungPlasma = newConstantParameter("HelpMe", 10); @@ -167,30 +167,30 @@ private IEnumerable allCalculationMethods() var helpMeBonePlasma = newConstantParameter("HelpMe", 20); cm1.AddHelpParameter(helpMeBonePlasma, Create.Criteria(x => x.With(Bone).And.With(Plasma))); - var cm2 = _objectBaseFactory.Create().WithName("CM2"); + var cm2 = _objectBaseFactory.Create().WithName("CM2"); cm2.Category = "PartitionCoeff"; cm2.AddOutputFormula(PartitionCoeff_2(), new ParameterDescriptor("K", Create.Criteria(x => x.With("Cell2Plasma")))); return new[] {cm1, cm2}; } - private IEventGroupBuildingBlock getEventGroups() + private EventGroupBuildingBlock getEventGroups() { - var eventGroupBuilderCollection = _objectBaseFactory.Create(); + var eventGroupBuilderCollection = _objectBaseFactory.Create(); eventGroupBuilderCollection.Add(createBolusApplication(eventGroupBuilderCollection.FormulaCache)); return eventGroupBuilderCollection; } - private IEventGroupBuilder createBolusApplication(IFormulaCache cache) + private EventGroupBuilder createBolusApplication(IFormulaCache cache) { - var eventGroup = _objectBaseFactory.Create().WithName("Bolus Application"); + var eventGroup = _objectBaseFactory.Create().WithName("Bolus Application"); eventGroup.SourceCriteria = Create.Criteria(x => x.With(ArterialBlood).And.With(Plasma)); - var eventBuilder = _objectBaseFactory.Create() + var eventBuilder = _objectBaseFactory.Create() .WithName("application") .WithFormula(conditionForBolusApp(cache)); eventBuilder.OneTime = true; - var eventAssignment = _objectBaseFactory.Create() + var eventAssignment = _objectBaseFactory.Create() .WithName("BLA") .WithFormula(createBolusDosisFormula(cache)); eventAssignment.UseAsValue = true; @@ -309,18 +309,18 @@ private void setAllIsPresentForMoleculeToFalse(MoleculeStartValuesBuildingBlock } } - private IObserverBuildingBlock getObservers() + private ObserverBuildingBlock getObservers() { - var observers = _objectBaseFactory.Create(); + var observers = _objectBaseFactory.Create(); - var amountObserver1 = _objectBaseFactory.Create().WithName("AmountObs_1"); + var amountObserver1 = _objectBaseFactory.Create().WithName("AmountObs_1"); amountObserver1.Dimension = _dimensionFactory.Dimension(Constants.Dimension.MOLAR_AMOUNT); amountObserver1.MoleculeList.ForAll = true; amountObserver1.Formula = AmountObs(observers.FormulaCache); amountObserver1.ContainerCriteria = Create.Criteria(x => x.With(Plasma)); observers.Add(amountObserver1); - var amountObserver2 = _objectBaseFactory.Create().WithName("AmountObs_2"); + var amountObserver2 = _objectBaseFactory.Create().WithName("AmountObs_2"); amountObserver2.MoleculeList.ForAll = false; amountObserver2.Dimension = _dimensionFactory.Dimension(Constants.Dimension.MOLAR_AMOUNT); amountObserver2.Formula = AmountObs(observers.FormulaCache); @@ -329,7 +329,7 @@ private IObserverBuildingBlock getObservers() amountObserver2.ContainerCriteria = Create.Criteria(x => x.With(Cell)); observers.Add(amountObserver2); - var amountObserver3 = _objectBaseFactory.Create().WithName("AmountObs_3"); + var amountObserver3 = _objectBaseFactory.Create().WithName("AmountObs_3"); amountObserver3.MoleculeList.ForAll = true; amountObserver3.Dimension = _dimensionFactory.Dimension(Constants.Dimension.MOLAR_AMOUNT); amountObserver3.Formula = AmountObs(observers.FormulaCache); @@ -338,7 +338,7 @@ private IObserverBuildingBlock getObservers() amountObserver3.ContainerCriteria = Create.Criteria(x => x.With(Cell)); observers.Add(amountObserver3); - var containerObserverBuilder = _objectBaseFactory.Create().WithName("ContainerObs_1"); + var containerObserverBuilder = _objectBaseFactory.Create().WithName("ContainerObs_1"); containerObserverBuilder.Dimension = _dimensionFactory.Dimension(Constants.Dimension.MOLAR_AMOUNT); containerObserverBuilder.MoleculeList.ForAll = false; containerObserverBuilder.AddMoleculeName("C"); @@ -347,7 +347,7 @@ private IObserverBuildingBlock getObservers() observers.Add(containerObserverBuilder); - var fractionObserver = _objectBaseFactory.Create().WithName("FractionObserver_1"); + var fractionObserver = _objectBaseFactory.Create().WithName("FractionObserver_1"); fractionObserver.Dimension = _dimensionFactory.Dimension(Constants.Dimension.FRACTION); fractionObserver.MoleculeList.ForAll = true; fractionObserver.Formula = FractionObs(observers.FormulaCache); @@ -355,7 +355,7 @@ private IObserverBuildingBlock getObservers() observers.Add(fractionObserver); - var observedInOrganismLungPlasma = _objectBaseFactory.Create().WithName("InContainerObserver"); + var observedInOrganismLungPlasma = _objectBaseFactory.Create().WithName("InContainerObserver"); observedInOrganismLungPlasma.Dimension = _dimensionFactory.Dimension(Constants.Dimension.MOLAR_AMOUNT); observedInOrganismLungPlasma.MoleculeList.ForAll = false; observedInOrganismLungPlasma.AddMoleculeName("C"); @@ -363,7 +363,7 @@ private IObserverBuildingBlock getObservers() observedInOrganismLungPlasma.ContainerCriteria = Create.Criteria(x => x.With(Plasma).And.InContainer(Lung)); observers.Add(observedInOrganismLungPlasma); - var observedInOrganismNotLungPlasma = _objectBaseFactory.Create().WithName("NotInContainerObserver"); + var observedInOrganismNotLungPlasma = _objectBaseFactory.Create().WithName("NotInContainerObserver"); observedInOrganismNotLungPlasma.Dimension = _dimensionFactory.Dimension(Constants.Dimension.MOLAR_AMOUNT); observedInOrganismNotLungPlasma.MoleculeList.ForAll = false; observedInOrganismNotLungPlasma.AddMoleculeName("C"); @@ -387,7 +387,7 @@ private MoleculeBuildingBlock getMolecules() return molecules; } - private IMoleculeBuilder createMoleculeA(IFormulaCache formulaCache) + private MoleculeBuilder createMoleculeA(IFormulaCache formulaCache) { var moleculeA = defaultMolecule("A", 1, 2, QuantityType.Drug, formulaCache); var oneGlobalParameter = newConstantParameter("oneGlobalParameter", 33).WithMode(ParameterBuildMode.Global); @@ -408,7 +408,7 @@ private IMoleculeBuilder createMoleculeA(IFormulaCache formulaCache) transporter1.AddParameter(newConstantParameter("LocalTransportParameter", 250)); var realization1 = - _objectBaseFactory.Create().WithName("Transporter #1") + _objectBaseFactory.Create().WithName("Transporter #1") .WithKinetic(MM1FormulaFrom(formulaCache)) .WithDimension(amountPerTimeDimension); @@ -424,7 +424,7 @@ private IMoleculeBuilder createMoleculeA(IFormulaCache formulaCache) transporter1.AddActiveTransportRealization(realization1); var transporter2 = _objectBaseFactory.Create().WithName("E"); transporter2.TransportName = "My Transport2"; - var realization2 = _objectBaseFactory.Create() + var realization2 = _objectBaseFactory.Create() .WithName("Transporter #2") .WithKinetic(MM1FormulaFrom(formulaCache)) .WithDimension(amountPerTimeDimension); @@ -442,7 +442,7 @@ private IMoleculeBuilder createMoleculeA(IFormulaCache formulaCache) return moleculeA; } - private IMoleculeBuilder createMoleculeB(IFormulaCache formulaCache) + private MoleculeBuilder createMoleculeB(IFormulaCache formulaCache) { var moleculeB = defaultMolecule("B", 2, 2, QuantityType.Drug, formulaCache); moleculeB.DefaultStartFormula = B_StartF(formulaCache); @@ -450,7 +450,7 @@ private IMoleculeBuilder createMoleculeB(IFormulaCache formulaCache) var transporter1 = _objectBaseFactory.Create().WithName("D"); transporter1.TransportName = "My Transport1"; - var realization1 = _objectBaseFactory.Create() + var realization1 = _objectBaseFactory.Create() .WithName("Transporter #1") .WithKinetic(MM2FormulaFrom(formulaCache)) .WithDimension(amountPerTimeDimension); @@ -464,7 +464,7 @@ private IMoleculeBuilder createMoleculeB(IFormulaCache formulaCache) var transporter2 = _objectBaseFactory.Create().WithName("XXX"); transporter2.TransportName = "My Transport2"; var realization2 = - _objectBaseFactory.Create() + _objectBaseFactory.Create() .WithName("Transporter #2") .WithKinetic(MM2FormulaFrom(formulaCache)) .WithDimension(amountPerTimeDimension); @@ -480,7 +480,7 @@ private IMoleculeBuilder createMoleculeB(IFormulaCache formulaCache) return moleculeB; } - private IMoleculeBuilder createMoleculeC(IFormulaCache formulaCache) + private MoleculeBuilder createMoleculeC(IFormulaCache formulaCache) { var moleculeC = defaultMolecule("C", 3, 3, QuantityType.Drug, formulaCache); var globalParameter = newConstantParameter("C_Global", 5, ParameterBuildMode.Global); @@ -496,7 +496,7 @@ private IMoleculeBuilder createMoleculeC(IFormulaCache formulaCache) return moleculeC; } - private IMoleculeBuilder createMoleculeD(IFormulaCache formulaCache) + private MoleculeBuilder createMoleculeD(IFormulaCache formulaCache) { var moleculeD = defaultMolecule("D", 3, 3, QuantityType.Transporter, formulaCache); @@ -523,7 +523,7 @@ private IMoleculeBuilder createMoleculeD(IFormulaCache formulaCache) return moleculeD; } - private IMoleculeBuilder createMoleculeE(IFormulaCache formulaCache) + private MoleculeBuilder createMoleculeE(IFormulaCache formulaCache) { var moleculeE = defaultMolecule("E", 4, 5, QuantityType.Transporter, formulaCache); moleculeE.IsFloating = false; @@ -537,7 +537,7 @@ private IMoleculeBuilder createMoleculeE(IFormulaCache formulaCache) return moleculeE; } - private IMoleculeBuilder createMoleculeF(IFormulaCache formulaCache) + private MoleculeBuilder createMoleculeF(IFormulaCache formulaCache) { var moleculeF = defaultMolecule("F", 4, 5, QuantityType.Enzyme, formulaCache); moleculeF.IsXenobiotic = false; @@ -553,7 +553,7 @@ private IMoleculeBuilder createMoleculeF(IFormulaCache formulaCache) return moleculeF; } - private IMoleculeBuilder defaultMolecule(string name, double MW, double logMA, QuantityType quantityType, IFormulaCache formulaCache) + private MoleculeBuilder defaultMolecule(string name, double MW, double logMA, QuantityType quantityType, IFormulaCache formulaCache) { var molecule = _moleculeBuilderFactory.Create(formulaCache).WithName(name); molecule.QuantityType = quantityType; @@ -703,10 +703,10 @@ private IParameter newConstantParameter(string name, double value, ParameterBuil .WithMode(parameterBuildMode); } - private IReactionBuildingBlock getReactions() + private ReactionBuildingBlock getReactions() { - var reactions = _objectBaseFactory.Create(); - var R1 = _objectBaseFactory.Create() + var reactions = _objectBaseFactory.Create(); + var R1 = _objectBaseFactory.Create() .WithName("R1") .WithKinetic(R1Formula(reactions.FormulaCache)) .WithDimension(amountPerTimeDimension); @@ -728,7 +728,7 @@ private IReactionBuildingBlock getReactions() R1.AddProduct(new ReactionPartnerBuilder("C", 1)); - var R2 = _objectBaseFactory.Create() + var R2 = _objectBaseFactory.Create() .WithName("R2") .WithKinetic(R1Formula(reactions.FormulaCache)) .WithDimension(amountPerTimeDimension); @@ -750,11 +750,11 @@ private IReactionBuildingBlock getReactions() return reactions; } - private IPassiveTransportBuildingBlock getPassiveTransports() + private PassiveTransportBuildingBlock getPassiveTransports() { - var passiveTransportBuilderCollection = _objectBaseFactory.Create(); + var passiveTransportBuilderCollection = _objectBaseFactory.Create(); //T1_1 "Blutfluss Arterial Blood=> Tissue Organ" - var T1_1 = _objectBaseFactory.Create() + var T1_1 = _objectBaseFactory.Create() .WithName("T1_1") .WithDimension(amountPerTimeDimension); @@ -774,7 +774,7 @@ private IPassiveTransportBuildingBlock getPassiveTransports() passiveTransportBuilderCollection.Add(T1_1); //T1_2 "Blutfluss Tissue Organ => VenousBlood" - var T1_2 = _objectBaseFactory.Create() + var T1_2 = _objectBaseFactory.Create() .WithName("T1_2") .WithDimension(amountPerTimeDimension); @@ -791,7 +791,7 @@ private IPassiveTransportBuildingBlock getPassiveTransports() passiveTransportBuilderCollection.Add(T1_2); //T1_3 "Blutfluss VenousBlood => Lung" - var T1_3 = _objectBaseFactory.Create() + var T1_3 = _objectBaseFactory.Create() .WithName("T1_3") .WithDimension(amountPerTimeDimension); @@ -806,7 +806,7 @@ private IPassiveTransportBuildingBlock getPassiveTransports() passiveTransportBuilderCollection.Add(T1_3); //T1_4 "Blutfluss Lung => ArterialBlood" - var T1_4 = _objectBaseFactory.Create() + var T1_4 = _objectBaseFactory.Create() .WithName("T1_4") .WithDimension(amountPerTimeDimension); @@ -821,7 +821,7 @@ private IPassiveTransportBuildingBlock getPassiveTransports() passiveTransportBuilderCollection.Add(T1_4); //T2 - var T2 = _objectBaseFactory.Create() + var T2 = _objectBaseFactory.Create() .WithName("T2") .WithDimension(amountPerTimeDimension); @@ -835,7 +835,7 @@ private IPassiveTransportBuildingBlock getPassiveTransports() return passiveTransportBuilderCollection; } - private ISpatialStructure getSpatialStructure() + private SpatialStructure getSpatialStructure() { var spatialStructure = _spatialStructureFactory.Create().WithName("SPATIAL STRUCTURE"); diff --git a/tests/OSPSuite.HelpersForTests/ModuleHelperForSpecs.cs b/tests/OSPSuite.HelpersForTests/ModuleHelperForSpecs.cs index cf7a9b32d..a5e4bc151 100644 --- a/tests/OSPSuite.HelpersForTests/ModuleHelperForSpecs.cs +++ b/tests/OSPSuite.HelpersForTests/ModuleHelperForSpecs.cs @@ -46,7 +46,7 @@ private Module createModule1() return module; } - private ISpatialStructure getSpatialStructureModule1() + private SpatialStructure getSpatialStructureModule1() { var spatialStructure = _spatialStructureFactory.Create().WithName("SPATIAL STRUCTURE"); diff --git a/tests/OSPSuite.HelpersForTests/TestObjectBaseFactory.cs b/tests/OSPSuite.HelpersForTests/TestObjectBaseFactory.cs index 0b60c8dd8..ca1e6ebd3 100644 --- a/tests/OSPSuite.HelpersForTests/TestObjectBaseFactory.cs +++ b/tests/OSPSuite.HelpersForTests/TestObjectBaseFactory.cs @@ -12,7 +12,7 @@ public class TestObjectBaseFactory : IObjectBaseFactory public T Create() where T : class, IObjectBase { - if (typeof(T).IsAnImplementationOf()) + if (typeof(T).IsAnImplementationOf()) return new MoleculeAmount().DowncastTo(); if (typeof(T).IsAnImplementationOf()) diff --git a/tests/OSPSuite.Presentation.Tests/Presentation/PresenterSubjectSpecs.cs b/tests/OSPSuite.Presentation.Tests/Presentation/PresenterSubjectSpecs.cs index f2bc320ac..a8f02b77e 100644 --- a/tests/OSPSuite.Presentation.Tests/Presentation/PresenterSubjectSpecs.cs +++ b/tests/OSPSuite.Presentation.Tests/Presentation/PresenterSubjectSpecs.cs @@ -9,11 +9,11 @@ namespace OSPSuite.Presentation.Presentation { public abstract class concern_for_PresenterSubject : ContextSpecification { - protected IReactionBuildingBlock _buildingBlock; + protected ReactionBuildingBlock _buildingBlock; protected override void Context() { - _buildingBlock = A.Fake(); + _buildingBlock = A.Fake(); sut = new PresenterSubject {Subject = _buildingBlock}; } } @@ -21,13 +21,13 @@ protected override void Context() public class When_checking_if_a_presenter_matches_another_presenter : concern_for_PresenterSubject { private ISubjectPresenter _presenterToMatch; - private IReactionBuildingBlock _anotherBuildingBlock; + private ReactionBuildingBlock _anotherBuildingBlock; protected override void Context() { base.Context(); _presenterToMatch = A.Fake(); - _anotherBuildingBlock = A.Fake(); + _anotherBuildingBlock = A.Fake(); } [Observation] diff --git a/tests/OSPSuite.Presentation.Tests/Presentation/QuantitySelectionPresenterSpecs.cs b/tests/OSPSuite.Presentation.Tests/Presentation/QuantitySelectionPresenterSpecs.cs index 5e8d64043..b7b3958a9 100644 --- a/tests/OSPSuite.Presentation.Tests/Presentation/QuantitySelectionPresenterSpecs.cs +++ b/tests/OSPSuite.Presentation.Tests/Presentation/QuantitySelectionPresenterSpecs.cs @@ -36,20 +36,20 @@ protected override void Context() public class When_the_simulation_quantity_selection_presenter_is_editing_the_settings_based_on_the_available_molecules_in_a_simulation : concern_for_QuantitySelectionPresenter { private List _allQuantities; - private IObserver _observer1; - private IObserver _observer2; - private IObserver _observer3; + private Observer _observer1; + private Observer _observer2; + private Observer _observer3; private QuantitySelectionDTO _dto; private List _selectedQuantitiesDTO; protected override void Context() { base.Context(); - _observer1 = A.Fake(); + _observer1 = new Observer(); _observer1.Persistable = true; - _observer2 = A.Fake(); + _observer2 = new Observer(); _observer2.Persistable = true; - _observer3 = A.Fake(); + _observer3 = new Observer(); _observer3.Persistable = false; _dto = new QuantitySelectionDTO(); _quantities.AddRange(new[] {_observer1, _observer2, _observer3});