Пример #1
0
        private Task <BuildingBlockSwap> mapBuildingBlock(BuildingBlockRef buildingBlock, IReadOnlyList <Project> projects)
        {
            // Using a project reference
            //TODO uncomment when remote building block supported
            //   string snapshotFilePath;
            //         if (!string.IsNullOrEmpty(buildingBlock.Project))
            //         {
            //            var project = projects.FindById(buildingBlock.Project);
            //            if (project == null)
            //               throw new QualificationRunException(ReferencedProjectNotDefinedInQualificationFile(buildingBlock.Project));
            //
            //            snapshotFilePath = project.SnapshotFilePath;
            //         }
            //         else
            //            snapshotFilePath = await snapshotFileFullPathFor(buildingBlock.Path);


            var project = projects.FindById(buildingBlock.Project);

            if (project == null)
            {
                throw new QualificationRunException(ReferencedProjectNotDefinedInQualificationFile(buildingBlock.Project));
            }

            var snapshotFilePath = project.SnapshotFilePath;

            var buildingBlockSwap = new BuildingBlockSwap
            {
                Name         = buildingBlock.Name,
                Type         = buildingBlock.Type,
                SnapshotFile = snapshotFilePath
            };

            return(Task.FromResult(buildingBlockSwap));
        }
Пример #2
0
        protected override async Task Context()
        {
            await base.Context();

            _buildingBlockSwap = new BuildingBlockSwap
            {
                Name         = "Ind",
                Type         = PKSimBuildingBlockType.Individual,
                SnapshotFile = "RefSnapshotPathDoesNotExist"
            };

            A.CallTo(() => _snapshotTask.LoadSnapshotFromFile <SnapshotProject>(_buildingBlockSwap.SnapshotFile)).Returns((SnapshotProject)null);
            _qualificationConfiguration.BuildingBlocks = new[] { _buildingBlockSwap };
        }
Пример #3
0
        protected override async Task Context()
        {
            await base.Context();

            _buildingBlockSwap = new BuildingBlockSwap
            {
                Name         = "Ind",
                Type         = PKSimBuildingBlockType.Individual,
                SnapshotFile = "RefSnapshotPath.json"
            };

            _qualificationConfiguration.BuildingBlocks = new[] { _buildingBlockSwap };
            _refIndividual      = new Individual().WithName(_buildingBlockSwap.Name);
            _refSnapshotProject = new SnapshotProject {
                Individuals = new[] { _refIndividual }
            };
            A.CallTo(() => _snapshotTask.LoadSnapshotFromFile <SnapshotProject>(_buildingBlockSwap.SnapshotFile)).Returns(_refSnapshotProject);
        }
Пример #4
0
        private async Task swapBuildingBlockIn(Project projectSnapshot, BuildingBlockSwap buildingBlockSwap)
        {
            var(buildingBlockType, name, snapshotPath) = buildingBlockSwap;
            var referenceSnapshot = await snapshotProjectFromFile(snapshotPath);

            var typeDisplay = buildingBlockType.ToString();

            var buildingBlockToUse = referenceSnapshot.BuildingBlockByTypeAndName(buildingBlockType, name);

            if (buildingBlockToUse == null)
            {
                throw new QualificationRunException(CannotFindBuildingBlockInSnapshot(typeDisplay, name, referenceSnapshot.Name));
            }

            var buildingBlock = projectSnapshot.BuildingBlockByTypeAndName(buildingBlockType, name);

            if (buildingBlock == null)
            {
                throw new QualificationRunException(CannotFindBuildingBlockInSnapshot(typeDisplay, name, projectSnapshot.Name));
            }

            projectSnapshot.Swap(buildingBlockToUse);
        }