protected override async Task Context()
        {
            await base.Context();

            _snapshot = await sut.MapToSnapshot(_enzymaticProcess);

            _templateProcess = new EnzymaticProcess();
            _templateProcess.InternalName = _snapshot.InternalName;
            A.CallTo(() => _compoundProcessRepository.ProcessByName(_snapshot.InternalName)).Returns(_templateProcess);
            _cloneOfTemplate = new EnzymaticProcess();
            _cloneOfTemplate.InternalName = _snapshot.InternalName;
            A.CallTo(() => _cloner.Clone((Model.CompoundProcess)_templateProcess)).Returns(_cloneOfTemplate);


            _snapshot.Description        = null;
            _cloneOfTemplate.Description = "Description of template from database";
            _snapshot.Molecule           = "CYP3A4";
            _snapshot.Metabolite         = "Meta";
            _snapshot.DataSource         = "Lab";

            _snapshotParameter   = new Parameter().WithName("Km");
            _snapshot.Parameters = new [] { _snapshotParameter };

            _processParameter = DomainHelperForSpecs.ConstantParameterWithValue(5).WithName("Km");
            _cloneOfTemplate.Add(_processParameter);
        }
        protected override void Context()
        {
            base.Context();
            _template1 = new EnzymaticProcess().WithName("Proc1");
            _template1.InternalName   = "Proc1";
            _template1.MetaboliteName = "META";
            _template2 = new EnzymaticProcess().WithName("Proc2");
            _template2.InternalName = "Proc2";
            _allProcessTemplates.AddRange(new[] { _template1, _template2 });
            _process1DTO = new PartialProcessDTO(_template1)
            {
                MoleculeName = "Protein",
                DataSource   = "Lab"
            };
            _process2DTO = new PartialProcessDTO(_template2);

            A.CallTo(() => _compoundProcessTask.CreateProcessFromTemplate <CompoundProcess>(_template1, _compound)).Returns(_template1);
            A.CallTo(() => _compoundProcessTask.CreateProcessFromTemplate <CompoundProcess>(_template2, _compound)).Returns(_template2);
            A.CallTo(() => _processMapper.MapFrom(_template1)).Returns(_process1DTO);
            A.CallTo(() => _processMapper.MapFrom(_template2)).Returns(_process2DTO);
            A.CallTo(() => _partialProcessMapper.MapFrom(_template1, _compound)).Returns(_process1DTO);
            A.CallTo(() => _partialProcessMapper.MapFrom(_template2, _compound)).Returns(_process2DTO);
            sut.CreateProcess(_compound, _allProcessTemplates);

            A.CallTo(() => _view.BindTo(A <EnzymaticProcessDTO> ._))
            .Invokes(x => _enzymaticPartialProcessDTO = x.GetArgument <EnzymaticProcessDTO>(0));
        }
 protected override void Because()
 {
     _enzymaticProcess = new EnzymaticProcess();
     sut.CreateProcess(_compound, new List <CompoundProcess> {
         _enzymaticProcess
     });
 }
Esempio n. 4
0
        public EnzymaticProcessDTO MapFrom(EnzymaticProcess compoundProcess)
        {
            var dto = new EnzymaticProcessDTO(compoundProcess);

            SetProperties(compoundProcess, dto);
            dto.Metabolite = compoundProcess.MetaboliteName;
            return(dto);
        }
 protected override void Context()
 {
     base.Context();
     _newMetabolite    = "newMetabolite";
     _enzymaticProcess = new EnzymaticProcess();
     sut.InitializeWith(A.Fake <ICommandCollector>());
     sut.Edit(_enzymaticProcess);
 }
 protected override void Context()
 {
     base.Context();
     _metabolite = "metabolite";
     _process    = new EnzymaticProcess {
         MetaboliteName = _metabolite
     };
 }
Esempio n. 7
0
 protected override void Context()
 {
     _partialProc = new EnzymaticProcess()
                    .WithName("Tralala")
                    .WithId("Trululu");
     _partialProc.MoleculeName = "E1";
     _partialProc.DataSource   = "DataSource";
     sut = new PartialProcessToPartialProcessDTOMapper();
 }
        protected override Task Context()
        {
            sut = new ProcessMappingMapper();

            _compound = new Compound
            {
                Name = "COMP",
            };


            _enzymaticProcess          = new EnzymaticProcess().WithName("MetaProcess");
            _enzymaticProcessSelection = new EnzymaticProcessSelection
            {
                CompoundName   = _compound.Name,
                MetaboliteName = "META",
                MoleculeName   = "CYP",
                ProcessName    = _enzymaticProcess.Name
            };


            _specificBindingProcess = new SpecificBindingPartialProcess().WithName("BindingProcess");
            _specificBindingPartialProcessSelection = new ProcessSelection
            {
                CompoundName = _compound.Name,
                MoleculeName = "BINDER",
                ProcessName  = _specificBindingProcess.Name
            };

            _transportSystemicProcess = new SystemicProcess
            {
                Name = "SystemicTransport",
                SystemicProcessType = SystemicProcessTypes.GFR
            };

            _transportSystemicProcessSelection = new SystemicProcessSelection
            {
                CompoundName = _compound.Name,
                ProcessName  = _transportSystemicProcess.Name,
                ProcessType  = _transportSystemicProcess.SystemicProcessType
            };

            _interactionProcess   = new InductionProcess().WithName("InteractionProcess");
            _interactionSelection = new InteractionSelection
            {
                CompoundName = _compound.Name,
                ProcessName  = _interactionProcess.Name,
                MoleculeName = "INHIBITOR"
            };

            _compound.AddProcess(_enzymaticProcess);
            _compound.AddProcess(_transportSystemicProcess);
            _compound.AddProcess(_interactionProcess);
            _compound.AddProcess(_specificBindingProcess);

            return(_completed);
        }
 protected override void Context()
 {
     base.Context();
     _enzymaticProcess = new EnzymaticProcess();
     _dto = new EnzymaticProcessDTO(_enzymaticProcess)
     {
         Name = "myProcessDTO"
     };
     A.CallTo(() => _enzymaticProcessToEnzymaticProcessDTOMapper.MapFrom(_enzymaticProcess)).Returns(_dto);
 }
Esempio n. 10
0
        protected EnzymaticProcessSelection ProcessSelectionFor(EnzymaticProcess process)
        {
            var templateCompound = process.ParentCompound;

            return(_simulation.CompoundPropertiesFor(templateCompound.Name)
                   .Processes
                   .MetabolizationSelection.AllPartialProcesses()
                   .OfType <EnzymaticProcessSelection>()
                   .Find(x => x.ProcessName == process.Name));
        }
Esempio n. 11
0
        protected IMoleculeAmount MetaboliteAmountInLiverZoneCellFor(EnzymaticProcess process, string liverZone, string metaboliteName)
        {
            var enzymaticProcessSelection = ProcessSelectionFor(process);

            var liverPeriportalCell = _simulation.Model.Root.EntityAt <Container>(Constants.ORGANISM, CoreConstants.Organ.LIVER,
                                                                                  liverZone, CoreConstants.Compartment.INTRACELLULAR);

            var dynamicMetaboliteName = enzymaticProcessSelection.ProductName(CoreConstants.Molecule.Metabolite);

            return(liverPeriportalCell.EntityAt <IMoleculeAmount>(metaboliteName ?? dynamicMetaboliteName));
        }
Esempio n. 12
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _metaboliteMetabolizationCYP3A4 = AddEnzymaticProcess(_metabolite, _cyp3A4);
            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, new[] { _compound, _metabolite }, new[] { _protocol, null }).DowncastTo <IndividualSimulation>();

            //Compound => Metabolite1
            ProcessSelectionFor(_parentMetabolizationCYP3A4).MetaboliteName = _metabolite.Name;

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
        public ChangeEnzymaticProcessMetaboliteNameCommand(EnzymaticProcess process, string newMetabolite, IExecutionContext context)
        {
            _process        = process;
            BuildingBlockId = context.BuildingBlockIdContaining(_process);
            _processId      = process.Id;
            _newMetabolite  = newMetabolite;
            CommandType     = PKSimConstants.Command.CommandTypeEdit;
            Description     = PKSimConstants.Command.SetMetaboliteForProcess(_newMetabolite, process.Name, process.MetaboliteName);
            ObjectType      = PKSimConstants.ObjectTypes.MetabolizingEnzyme;

            context.UpdateBuildinBlockProperties(this, context.BuildingBlockContaining(_process));
        }
Esempio n. 14
0
        protected override void Context()
        {
            _simulation = A.Fake <Simulation>();
            _individual = new Individual();
            _compound   = new Compound().WithName("Comp");
            A.CallTo(() => _simulation.Individual).Returns(_individual);
            A.CallTo(() => _simulation.Compounds).Returns(new [] { _compound });

            sut = new PartialProcessRetriever();
            _notSelectedPartialProcess    = A.Fake <EnzymaticProcess>();
            sut.NotSelectedPartialProcess = _notSelectedPartialProcess;
        }
Esempio n. 15
0
        protected override void Context()
        {
            _context       = A.Fake <IExecutionContext>();
            _newMetabolite = "newMetabolite";
            _oldMetabolite = "oldMetabolite";
            _process       = new EnzymaticProcess()
            {
                MetaboliteName = _oldMetabolite
            };
            sut = new ChangeEnzymaticProcessMetaboliteNameCommand(_process, _newMetabolite, _context);

            A.CallTo(() => _context.Get <EnzymaticProcess>(_process.Id)).Returns(_process);
        }
Esempio n. 16
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _compound   = DomainFactoryForSpecs.CreateStandardCompound().WithName("Parent");
            _metabolite = DomainFactoryForSpecs.CreateStandardCompound().WithName("Metabolite");
            _individual = DomainFactoryForSpecs.CreateStandardIndividual();
            _protocol   = DomainFactoryForSpecs.CreateStandardIVBolusProtocol();

            _cyp3A4 = AddEnzymeTo(_individual, "CYP3A4");
            _parentMetabolizationCYP3A4 = AddEnzymaticProcess(_compound, _cyp3A4);

            _cyp2D6 = AddEnzymeTo(_individual, "CYP2D6");
            _parentMetabolizationCYP2D6 = AddEnzymaticProcess(_compound, _cyp2D6);
        }
        protected override void Context()
        {
            base.Context();
            _enzymaticProcess = new EnzymaticProcess {
                ParentContainer = new Compound {
                    Name = "Parent"
                }
            };

            A.CallTo(() => _buildingBlockRepository.All <Compound>()).Returns(new List <Compound> {
                _enzymaticProcess.ParentCompound, new Compound(), new Compound()
            });
            A.CallTo(() => _view.UpdateAvailableCompounds(A <IEnumerable <string> > ._))
            .Invokes(x => _allCompoundNames = x.GetArgument <IEnumerable <string> >(0).ToList());
            sut.Edit(_enzymaticProcess);
        }
Esempio n. 18
0
        protected override void Context()
        {
            base.Context();
            _pp1 = A.Fake <EnzymaticProcess>().WithName("pp1");
            _pp1.MoleculeName = "enzyme1";

            _pp2 = A.Fake <EnzymaticProcess>().WithName("pp2");
            _pp2.MoleculeName = "enzyme1";

            _pp3 = A.Fake <EnzymaticProcess>().WithName("pp3");
            _pp3.MoleculeName = "enzyme3";

            _pp4 = A.Fake <EnzymaticProcess>().WithName("pp4");
            _pp4.MoleculeName = "enzyme4";

            _pp5 = A.Fake <EnzymaticProcess>().WithName("pp5");
            _pp5.MoleculeName = "enzyme5";

            _unknowProteinName = "unknow";
            _moleculeName      = "TITI";

            _compound.AddProcess(_pp1);
            _compound.AddProcess(_pp2);
            _compound.AddProcess(_pp3);
            _compound.AddProcess(_pp4);
            _compound.AddProcess(_pp5);
            _enzyme           = A.Fake <IndividualEnzyme>().WithName(_pp3.MoleculeName);
            _anotherProtein   = A.Fake <IndividualEnzyme>().WithName(_moleculeName);
            _notMappedProtein = A.Fake <IndividualEnzyme>().WithName("not mapped");
            _individual.AddMolecule(_enzyme);
            _individual.AddMolecule(_anotherProtein);
            _individual.AddMolecule(_notMappedProtein);

            _availableProcesses = new List <ProcessSelection>
            {
                new ProcessSelection {
                    ProcessName = _pp3.Name, MoleculeName = _notMappedProtein.Name, CompoundName = "DOES NOT EXIST"
                },
                new ProcessSelection {
                    ProcessName = _pp4.Name, MoleculeName = _moleculeName, CompoundName = _compound.Name
                },
                new ProcessSelection {
                    ProcessName = _pp5.Name, MoleculeName = _unknowProteinName, CompoundName = _compound.Name
                }
            };
        }
        public void should_be_able_to_return_the_reference_templates_for_a_compound_with_metabolism()
        {
            var firstCompoundTemplate = sut.AllTemplatesFor(TemplateType.Compound).First();
            var compound         = DomainFactoryForSpecs.CreateStandardCompound();
            var enzymaticProcess = new EnzymaticProcess {
                MoleculeName = "CYP3A4", MetaboliteName = "Meta"
            };

            compound.AddProcess(enzymaticProcess);
            var references = sut.AllReferenceTemplatesFor(firstCompoundTemplate, compound);

            references.Count.ShouldBeEqualTo(1);
            var reference = references[0];

            reference.Url.ShouldBeEqualTo(firstCompoundTemplate.Url);
            reference.Name.ShouldBeEqualTo(enzymaticProcess.MetaboliteName);
            reference.Type.ShouldBeEqualTo(TemplateType.Compound);
        }
Esempio n. 20
0
        protected override Task Context()
        {
            _alternativeMapper            = A.Fake <AlternativeMapper>();
            _parameterMapper              = A.Fake <ParameterMapper>();
            _calculationMethodCacheMapper = A.Fake <CalculationMethodCacheMapper>();
            _processMapper   = A.Fake <CompoundProcessMapper>();
            _compoundFactory = A.Fake <ICompoundFactory>();
            sut = new CompoundMapper(_parameterMapper, _alternativeMapper, _calculationMethodCacheMapper, _processMapper, _compoundFactory);

            _compound = new Model.Compound
            {
                Name        = "Compound",
                Description = "Description"
            };

            addPkAParameters(_compound, 0, 8, CompoundType.Base);
            addPkAParameters(_compound, 1, 4, CompoundType.Acid);
            addPkAParameters(_compound, 2, 7, CompoundType.Neutral);

            _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_LIPOPHILICITY));
            _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_FRACTION_UNBOUND));
            _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_SOLUBILITY));
            _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_INTESTINAL_PERMEABILITY));
            _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_PERMEABILITY));

            _compound.Add(DomainHelperForSpecs.ConstantParameterWithValue(1).WithName(CoreConstants.Parameters.IS_SMALL_MOLECULE));
            _compound.Add(DomainHelperForSpecs.ConstantParameterWithValue((int)PlasmaProteinBindingPartner.Glycoprotein).WithName(CoreConstants.Parameters.PLASMA_PROTEIN_BINDING_PARTNER));

            _partialProcess  = new EnzymaticProcess().WithName("EnzymaticProcess");
            _systemicProcess = new SystemicProcess().WithName("SystemicProcess");
            _compound.AddProcess(_partialProcess);
            _compound.AddProcess(_systemicProcess);

            _calculationMethodCacheSnapshot = new CalculationMethodCache();
            A.CallTo(() => _calculationMethodCacheMapper.MapToSnapshot(_compound.CalculationMethodCache)).Returns(_calculationMethodCacheSnapshot);

            _snapshotProcess1 = new CompoundProcess();
            _snapshotProcess2 = new CompoundProcess();
            A.CallTo(() => _processMapper.MapToSnapshot(_partialProcess)).Returns(_snapshotProcess1);
            A.CallTo(() => _processMapper.MapToSnapshot(_systemicProcess)).Returns(_snapshotProcess2);

            return(_completed);
        }
Esempio n. 21
0
 protected override void Context()
 {
     base.Context();
     _template1 = new EnzymaticProcess().WithName("Proc1");
     _template1.InternalName = "Proc1";
     _template2 = new EnzymaticProcess().WithName("Proc2");
     _template2.InternalName = "Proc2";
     _allProcessTemplates.AddRange(new[] { _template1, _template2 });
     _process1DTO = new PartialProcessDTO(_template1);
     _process1DTO.MoleculeName = "Protein";
     _process1DTO.DataSource   = "Lab";
     _process2DTO = new PartialProcessDTO(_template2);
     A.CallTo(() => _compoundProcessTask.CreateProcessFromTemplate <CompoundProcess>(_template1, _compound)).Returns(_template1);
     A.CallTo(() => _compoundProcessTask.CreateProcessFromTemplate <CompoundProcess>(_template2, _compound)).Returns(_template2);
     A.CallTo(() => _processMapper.MapFrom(_template1)).Returns(_process1DTO);
     A.CallTo(() => _processMapper.MapFrom(_template2)).Returns(_process2DTO);
     A.CallTo(() => _partialProcessMapper.MapFrom(_template1, _compound)).Returns(_process1DTO);
     A.CallTo(() => _partialProcessMapper.MapFrom(_template2, _compound)).Returns(_process2DTO);
     sut.CreateProcess(_compound, _allProcessTemplates);
 }
Esempio n. 22
0
        protected override void Context()
        {
            base.Context();
            _process = new EnzymaticProcess().WithName("P1");
            _process.InternalName = "internalNAme";
            _drug         = new MoleculeBuilder().WithName("drug");
            _metabolite   = new MoleculeBuilder().WithName("metabolite");
            _enzymeName   = "P1";
            _formulaCache = new FormulaCache();
            _kinetic      = new ExplicitFormula().WithId("trala");
            _kinetic.AddObjectPath(new FormulaUsablePath(new[] { "Organism", CoreConstants.KeyWords.Molecule }));
            _kinetic.AddObjectPath(new FormulaUsablePath(new[] { "Organism", CoreConstants.KeyWords.Protein }));
            _parameterFormula = new ExplicitFormula();
            _parameterFormula.AddObjectPath(new FormulaUsablePath(new[] { "Liver", CoreConstants.KeyWords.Molecule }));

            var pkSimReaction = new PKSimReaction().WithName("template");

            A.CallTo(() => _simulationActiveProcessRepository.ProcessFor <PKSimReaction>(_process.InternalName)).Returns(pkSimReaction);
            pkSimReaction.Formula = _kinetic;
            A.CallTo(() => _cloneManager.Clone(pkSimReaction)).Returns(pkSimReaction);
        }
        protected override Task Context()
        {
            _parameterMapper = A.Fake <ParameterMapper>();
            _representationInfoRepository = A.Fake <IRepresentationInfoRepository>();
            _compoundProcessRepository    = A.Fake <ICompoundProcessRepository>();
            _cloner              = A.Fake <ICloner>();
            _speciesRepository   = A.Fake <ISpeciesRepository>();
            _compoundProcessTask = A.Fake <ICompoundProcessTask>();
            _logger              = A.Fake <IOSPSuiteLogger>();


            sut = new CompoundProcessMapper(_parameterMapper, _representationInfoRepository, _compoundProcessRepository, _cloner, _speciesRepository, _compoundProcessTask, _logger);

            _enzymaticProcess = new EnzymaticProcess
            {
                Name           = "Enzymatic Process",
                Description    = "Process description",
                InternalName   = "A",
                DataSource     = "B",
                MetaboliteName = "Meta"
            };

            //Same description as DB
            A.CallTo(() => _representationInfoRepository.DescriptionFor(RepresentationObjectType.PROCESS, _enzymaticProcess.InternalName)).Returns(_enzymaticProcess.Description);

            _enzymaticProcessWithSpecies = new EnzymaticProcessWithSpecies
            {
                Name         = "Enzymatic process with species",
                Description  = "toto",
                Species      = new Species().WithName("Human"),
                InternalName = "C",
                DataSource   = "D",
            };

            A.CallTo(() => _representationInfoRepository.DescriptionFor(RepresentationObjectType.PROCESS, _enzymaticProcessWithSpecies.InternalName)).Returns("Process description");

            return(Task.FromResult(true));
        }
Esempio n. 24
0
 private static IPKSimCommand getChangeEnzymaticProcessMetaboliteCommand(EnzymaticProcess process, string newMetabolite, IExecutionContext executionContext)
 {
     return(new ChangeEnzymaticProcessMetaboliteNameCommand(process, newMetabolite, executionContext));
 }
Esempio n. 25
0
 public IPKSimCommand SetMetaboliteForEnzymaticProcess(EnzymaticProcess process, string newMetabolite)
 {
     return(getChangeEnzymaticProcessMetaboliteCommand(process, newMetabolite, _executionContext).Run(_executionContext));
 }
 protected override void Context()
 {
     base.Context();
     _process     = new EnzymaticProcess();
     _processNode = new ObjectWithIdAndNameNode <EnzymaticProcess>(_process);
 }
 public override void RestoreExecutionData(IExecutionContext context)
 {
     base.RestoreExecutionData(context);
     _process = context.Get <EnzymaticProcess>(_processId);
 }
Esempio n. 28
0
        protected override Task Context()
        {
            _parameterMapper              = A.Fake <ParameterMapper>();
            _alternativeMapper            = A.Fake <AlternativeMapper>();
            _calculationMethodCacheMapper = A.Fake <CalculationMethodCacheMapper>();
            _processMapper     = A.Fake <CompoundProcessMapper>();
            _compoundFactory   = A.Fake <ICompoundFactory>();
            _valueOriginMapper = A.Fake <ValueOriginMapper>();
            sut = new CompoundMapper(_parameterMapper, _alternativeMapper, _calculationMethodCacheMapper, _processMapper, _valueOriginMapper, _compoundFactory);

            _compound = new Model.Compound
            {
                Name        = "Compound",
                Description = "Description"
            };
            _pkaValueOrigin = new ValueOrigin {
                Method = ValueOriginDeterminationMethods.InVitro, Description = "PKA"
            };
            _snapshotValueOrigin = new Snapshots.ValueOrigin {
                Method = ValueOriginDeterminationMethodId.InVivo, Description = "PKA"
            };

            addPkAParameters(_compound, 0, 8, CompoundType.Base);
            addPkAParameters(_compound, 1, 4, CompoundType.Acid);
            addPkAParameters(_compound, 2, 7, CompoundType.Neutral);

            _compoundIntestinalPermeabilityAlternativeGroup = createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_INTESTINAL_PERMEABILITY);
            _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_LIPOPHILICITY));
            _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_FRACTION_UNBOUND));
            _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_SOLUBILITY));
            _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_PERMEABILITY));
            _compound.AddParameterAlternativeGroup(_compoundIntestinalPermeabilityAlternativeGroup);

            _compoundIntestinalPermeabilityAlternativeGroup.DefaultAlternative.IsDefault = true;
            //Calculated alternative will not be the default alternative for intestinal perm
            _calculatedAlternative = new ParameterAlternative {
                Name = PKSimConstants.UI.CalculatedAlernative, IsDefault = false
            };
            _compoundIntestinalPermeabilityAlternativeGroup.AddAlternative(_calculatedAlternative);
            //Mapping of a calculated alternative returns null
            A.CallTo(() => _alternativeMapper.MapToSnapshot(_calculatedAlternative)).Returns(Task.FromResult <Alternative>(null));

            _compound.Add(DomainHelperForSpecs.ConstantParameterWithValue(1).WithName(CoreConstants.Parameters.IS_SMALL_MOLECULE));
            _compound.Add(DomainHelperForSpecs.ConstantParameterWithValue((int)PlasmaProteinBindingPartner.Glycoprotein).WithName(CoreConstants.Parameters.PLASMA_PROTEIN_BINDING_PARTNER));

            _partialProcess  = new EnzymaticProcess().WithName("EnzymaticProcess");
            _systemicProcess = new SystemicProcess().WithName("SystemicProcess");
            _compound.AddProcess(_partialProcess);
            _compound.AddProcess(_systemicProcess);

            _calculationMethodCacheSnapshot = new CalculationMethodCache();
            A.CallTo(() => _calculationMethodCacheMapper.MapToSnapshot(_compound.CalculationMethodCache)).Returns(_calculationMethodCacheSnapshot);

            _snapshotProcess1 = new CompoundProcess();
            _snapshotProcess2 = new CompoundProcess();
            A.CallTo(() => _processMapper.MapToSnapshot(_partialProcess)).Returns(_snapshotProcess1);
            A.CallTo(() => _processMapper.MapToSnapshot(_systemicProcess)).Returns(_snapshotProcess2);

            _molweightParameter = DomainHelperForSpecs.ConstantParameterWithValue(400).WithName(Constants.Parameters.MOL_WEIGHT);
            _molweightParameter.ValueOrigin.Method = ValueOriginDeterminationMethods.InVivo;

            //Do not update F value origin to ensure that it's being synchronized when mapping from snapshot
            _halogenFParameter = DomainHelperForSpecs.ConstantParameterWithValue(5).WithName(Constants.Parameters.F);

            _compound.Add(_molweightParameter);
            _compound.Add(_halogenFParameter);
            return(_completed);
        }
 protected override void ClearReferences()
 {
     _process = null;
 }
 protected override async Task Because()
 {
     _newEnzymaticProcess = await sut.MapToModel(_snapshot, new SnapshotContext()) as EnzymaticProcess;
 }