/// <summary> /// 調査の実行ボタンが押下された場合の処理を行います。 /// </summary> /// <param name="sender">イベント発生元。</param> /// <param name="e">イベント引数。</param> private void ExecuteButton_Click(object sender, EventArgs e) { // 調査結果の取得 dynamic obj = ScoutDataGridView.SelectedRows[0].DataBoundItem; var scoutingResult = Scout[obj.Name].Scout(TargetDirectoryTextBox.Text); var reporter = new CSVScoutingReporter(); // 結果の出力 var fileName = $"result_{DateTime.Now:yyyyMMddhhmmss}.csv"; var path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); IReportingResult reportingResult = reporter.Report(new ReportingClue() { ScoutingResult = scoutingResult, OutputLocation = Path.Combine(path, fileName) }); // 結果の通知 MessageBox.Show($"結果を保存しました。\r\n保存先:{reportingResult.OutputLocation}"); }
public void Test_Report_WhenScoutingIsFailed() { // インスタンス生成 var scoutingResult = new ScoutingResult() { ErrorOccurred = true, ErrorMessage = "abc123" }; // テスト対象の処理を実行 var reporter = new CSVScoutingReporter(); var reporterResult = reporter.Report(new ReportingClue() { ScoutingResult = scoutingResult, OutputLocation = Path.Combine(this.DirectoryPath, "unittest.csv") }); // テスト結果を検証 var actual = File.ReadAllText(reporterResult.OutputLocation, Encoding.UTF8); Assert.AreEqual("abc123", actual); }
public void Test_Report_WhenScoutingIsSuccessful() { // テスト前のファイル一覧を取得 var root = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var filesBeforeReporting = Directory.GetFiles(root); // インスタンス生成 var columns = new string[] { "C1", "C2", "C3" }; var values = new string[][] { new string[] { "V11", "V12", "V13" }, new string[] { "V21", "V22", "V23" }, new string[] { "V31", "V32", "V33" }, }; var scoutingResult = new ScoutingResult() { Columns = columns.ToList(), Values = values.Select(x => x.ToList()).ToList(), ErrorOccurred = false }; // テスト対象の処理を実行 var reporter = new CSVScoutingReporter(); var reporterResult = reporter.Report(new ReportingClue() { ScoutingResult = scoutingResult, OutputLocation = Path.Combine(this.DirectoryPath, "unittest.csv") }); // テスト結果を検証 var expected = "\"C1\",\"C2\",\"C3\"\r\n" + "\"V11\",\"V12\",\"V13\"\r\n" + "\"V21\",\"V22\",\"V23\"\r\n" + "\"V31\",\"V32\",\"V33\"\r\n"; var actual = File.ReadAllText(reporterResult.OutputLocation, Encoding.UTF8); Assert.AreEqual(expected, actual); }