public void Test_Do_ReturnsNumber_WhenFileDoesNotHaveAnyBlank() { // テスト用のファイルを用意 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 NumberOfBlanksScoutingMethod(); var actual = method.Do(new ScoutingClue() { FilePath = filePath, Encoding = fileEncoding }); // テスト結果を検証 Assert.AreEqual("0", actual); }
public void Test_Do_ReturnsNumber_WhenFileHasHalfBlankAndFullWidthBlankAndTabs() { // テスト用のファイルを用意 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(" 23"); writer.WriteLine("a c"); writer.WriteLine("xy "); writer.WriteLine(" 23"); writer.WriteLine("a c"); writer.WriteLine("xy "); writer.WriteLine("\t23"); writer.WriteLine("a\tc"); writer.WriteLine("xy\t"); writer.Flush(); } // テスト対象の処理を実行 var method = new NumberOfBlanksScoutingMethod(); var actual = method.Do(new ScoutingClue() { FilePath = filePath, Encoding = fileEncoding }); // テスト結果を検証 Assert.AreEqual("9", 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 NumberOfBlanksScoutingMethod(); var actual = method.Do(new ScoutingClue() { FilePath = filePath, Encoding = null, }); // テスト結果を検証 Assert.AreEqual("0", actual); }