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

            _snapshot = await sut.MapToSnapshot(_compoundProperties, _project);

            // Adds an incorrect compound process selection
            _snapshot.Processes = new List <CompoundProcessSelection>(_snapshot.Processes)
            {
                new CompoundProcessSelection()
            }.ToArray();
            _simulation        = A.Fake <Simulation>();
            _simulationSubject = A.Fake <ISimulationSubject>();
            A.CallTo(() => _simulationSubject.MoleculeByName("CYP3A4")).Returns(new IndividualEnzyme {
                Name = "CYP3A4"
            });
            A.CallTo(() => _simulation.BuildingBlock <ISimulationSubject>()).Returns(_simulationSubject);
            var newModelCompoundProperties = new Model.CompoundProperties {
                Compound = _compoundProperties.Compound
            };

            _compoundProperties.CompoundGroupSelections.Each(newModelCompoundProperties.AddCompoundGroupSelection);

            A.CallTo(() => _simulation.CompoundPropertiesFor(_snapshot.Name)).Returns(newModelCompoundProperties);
            _context = new SnapshotContextWithSimulation(_simulation, _baseSnapshotContext);
        }
        protected override async Task Context()
        {
            await base.Context();

            _snapshot = await sut.MapToSnapshot(_compoundProperties, _project);

            _simulation = A.Fake <Simulation>();

            var newModelCompoundProperties = new Model.CompoundProperties {
                Compound = _compoundProperties.Compound
            };

            _compoundProperties.CompoundGroupSelections.Each(newModelCompoundProperties.AddCompoundGroupSelection);

            A.CallTo(() => _simulation.CompoundPropertiesFor(_snapshot.Name)).Returns(newModelCompoundProperties);
            _context = new SnapshotContextWithSimulation(_simulation, _baseSnapshotContext);

            _snapshot.Alternatives[0].AlternativeName = "UNKNOWN";
        }
        protected override async Task Context()
        {
            await base.Context();

            _snapshot = await sut.MapToSnapshot(_compoundProperties, _project);

            _simulation        = A.Fake <Simulation>();
            _simulationSubject = A.Fake <ISimulationSubject>();
            A.CallTo(() => _simulationSubject.MoleculeByName("CYP3A4")).Returns(null);
            A.CallTo(() => _simulation.BuildingBlock <ISimulationSubject>()).Returns(_simulationSubject);
            var newModelCompoundProperties = new Model.CompoundProperties {
                Compound = _compoundProperties.Compound
            };

            _compoundProperties.CompoundGroupSelections.Each(newModelCompoundProperties.AddCompoundGroupSelection);

            A.CallTo(() => _simulation.CompoundPropertiesFor(_snapshot.Name)).Returns(newModelCompoundProperties);
            _context = new SnapshotContextWithSimulation(_simulation, _baseSnapshotContext);
        }