/// <inheritdoc/> public IScoutingResult Scout(string path) { var result = new ScoutingResult() { Columns = ScoutingMethod.Keys.ToList <string>() }; if (!Directory.Exists(path)) { result.ErrorOccurred = true; result.ErrorMessage = $"対象ディレクトリが存在しません。\n{path}"; return(result); } try { AppendToReport(path, result); result.ErrorOccurred = false; } catch (PathTooLongException ex) { result.ErrorOccurred = true; result.ErrorMessage = ex.Message; return(result); } catch (Exception ex) { result.ErrorOccurred = true; result.ErrorMessage = $@"{ex.Message}\r\n{ex.StackTrace}"; return(result); } return(result); }
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); }