public void Test_Do_ReturnsNumber_WhenFileDoesNotHaveEmptyRow() { // テスト用のファイルを用意 var fileName = MethodBase.GetCurrentMethod().Name; var filePath = Path.Combine(this.DirectoryPath, fileName); var fileEncoding = Encoding.UTF8; using (var stream = File.Create(filePath)) using (var writer = new StreamWriter(stream, fileEncoding)) { writer.WriteLine("123"); writer.WriteLine("abc"); writer.Flush(); } // テスト対象の処理を実行 var method = new NumberOfEmptyRowsScoutingMethod(); var actual = method.Do(new ScoutingClue() { FilePath = filePath, Encoding = fileEncoding }); // テスト結果を検証 Assert.AreEqual("0", actual); }
public void Test_Do_ReturnsNumber_WhenFileHasEmptyRows() { // テスト用のファイルを用意 var fileName = MethodBase.GetCurrentMethod().Name; var filePath = Path.Combine(this.DirectoryPath, fileName); var fileEncoding = Encoding.UTF8; using (var stream = File.Create(filePath)) using (var writer = new StreamWriter(stream, fileEncoding)) { // カウント対象 writer.WriteLine(new string(' ', 15)); writer.WriteLine(new string(' ', 15)); writer.WriteLine(new string('\t', 15)); writer.WriteLine($"{' '}{' '}{'\t'}"); // 非カウント対象 writer.WriteLine(" a "); writer.Flush(); } // テスト対象の処理を実行 var method = new NumberOfEmptyRowsScoutingMethod(); var actual = method.Do(new ScoutingClue() { FilePath = filePath, Encoding = fileEncoding }); // テスト結果を検証 Assert.AreEqual("4", actual); }
public void Test_Do_ReturnsZero_WhenFileIsBinary() { // テスト用のファイルを用意 var fileName = MethodBase.GetCurrentMethod().Name; var filePath = Path.Combine(this.DirectoryPath, fileName); using (var stream = File.Create(filePath)) { stream.Write(new byte[] { 0x0 }, 0, 1); stream.Flush(); } // テスト対象の処理を実行 var method = new NumberOfEmptyRowsScoutingMethod(); var actual = method.Do(new ScoutingClue() { FilePath = filePath, Encoding = null, }); // テスト結果を検証 Assert.AreEqual("0", actual); }