private void BtnMeasureClick(object sender, EventArgs e) { var coverageElements = _info.Targets; var count = coverageElements.Count; for (int i = 0; i < count; i++) { coverageElements[i].UpdateState(SharedMemoryReporter.Read(i)); } _lbTag.SelectAll(); _btnAnalyze.PerformClick(); }
private void LoadCoverageInfomation(string filePath) { _txtCovInfoPath.Text = filePath; // カバレッジ情報(母数)の取得 _info = CoverageInfo.ReadCoverageInfo(new FileInfo(filePath)); // タグを構成要素に分解して再構成する var tagSet = _info.Targets.Select(t => t.Tag).ToHashSet(); var newTagSet = new SortedSet <string>(); foreach (var tag in tagSet) { var tagElements = tag.Split( new[] { '>' }, StringSplitOptions.RemoveEmptyEntries); var newTag = string.Empty; foreach (var tagEelment in tagElements) { newTag += tagEelment + '>'; newTagSet.Add(newTag); } } _lbTag.Items.Clear(); foreach (var tag in newTagSet) { _lbTag.Items.Add(tag); } switch (_info.SharingMethod) { case SharingMethod.SharedMemory: SharedMemoryReporter.Initialize(_info.Targets.Count); break; case SharingMethod.TcpIp: break; case SharingMethod.File: break; default: throw new ArgumentOutOfRangeException(); } }