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)); }
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 }; }
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); }
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); }