• R/O
  • HTTP
  • SSH
  • HTTPS

wpts: Commit

Wikipedia翻訳支援ツール


Commit MetaInfo

Revision95313085e3f40544cd47c75296fc3c49c1c5b04f (tree)
Time2016-10-28 00:02:30
Authorhoneplus <honeplus@user...>
Commiterhoneplus

Log Message

結果ファイルのユニットテストで改行コードの一致をみないよう変更, StyleCopの警告対処

Change Summary

Incremental Difference

--- a/HmLib/Parsers/XmlElementParser.cs
+++ b/HmLib/Parsers/XmlElementParser.cs
@@ -233,7 +233,7 @@ namespace Honememo.Parsers
233233 /// <remarks>性能対策などで<see cref="TryParse"/>を呼ぶ前に目処を付けたい場合用。</remarks>
234234 public override bool IsPossibleParse(char c)
235235 {
236- return '<' == c;
236+ return c == '<';
237237 }
238238
239239 #endregion
--- a/WptscsTest/Logics/MediaWikiTranslatorTest.cs
+++ b/WptscsTest/Logics/MediaWikiTranslatorTest.cs
@@ -635,13 +635,13 @@ namespace Honememo.Wptscs.Logics
635635
636636 // テストデータの変換結果を期待される結果と比較する
637637 // バージョン表記部分は毎回変化するため、期待される結果のうち該当部分を更新する
638- Assert.AreEqual(
638+ AssertEqualTextPerLines(
639639 File.ReadAllText(Path.Combine(ResultDir, "example_定型句なし.txt")).Replace("<!-- Wikipedia 翻訳支援ツール Ver0.xx", "<!-- " + FormUtils.ApplicationName()),
640640 translator.Text);
641641
642642 // テストデータの変換ログを期待されるログと比較する
643643 // 1行目のパスが一致しないので、期待される結果のうち該当部分を更新する
644- Assert.AreEqual(
644+ AssertEqualTextPerLines(
645645 File.ReadAllText(Path.Combine(ResultDir, "example_定型句なし.log")).Replace("file:///xxx/Data/MediaWiki/en/", from.Location),
646646 translator.Log);
647647 }
@@ -673,13 +673,13 @@ namespace Honememo.Wptscs.Logics
673673
674674 // テストデータの変換結果を期待される結果と比較する
675675 // バージョン表記部分は毎回変化するため、期待される結果のうち該当部分を更新する
676- Assert.AreEqual(
676+ AssertEqualTextPerLines(
677677 File.ReadAllText(Path.Combine(ResultDir, "example.txt")).Replace("<!-- Wikipedia 翻訳支援ツール Ver0.73", "<!-- " + FormUtils.ApplicationName()),
678678 translator.Text);
679679
680680 // テストデータの変換ログを期待されるログと比較する
681681 // 1行目のパスが一致しないので、期待される結果のうち該当部分を更新する
682- Assert.AreEqual(
682+ AssertEqualTextPerLines(
683683 File.ReadAllText(Path.Combine(ResultDir, "example.log")).Replace("http://en.wikipedia.org", from.Location),
684684 translator.Log);
685685 }
@@ -731,13 +731,13 @@ namespace Honememo.Wptscs.Logics
731731
732732 // テストデータの変換結果を期待される結果と比較する
733733 // バージョン表記部分は毎回変化するため、期待される結果のうち該当部分を更新する
734- Assert.AreEqual(
734+ AssertEqualTextPerLines(
735735 File.ReadAllText(Path.Combine(ResultDir, "example_キャッシュ使用.txt")).Replace("<!-- Wikipedia 翻訳支援ツール Ver0.xx", "<!-- " + FormUtils.ApplicationName()),
736736 translator.Text);
737737
738738 // テストデータの変換ログを期待されるログと比較する
739739 // 1行目のパスが一致しないので、期待される結果のうち該当部分を更新する
740- Assert.AreEqual(
740+ AssertEqualTextPerLines(
741741 File.ReadAllText(Path.Combine(ResultDir, "example_キャッシュ使用.log")).Replace("file:///xxx/Data/MediaWiki/en/", from.Location),
742742 translator.Log);
743743 }
@@ -766,13 +766,13 @@ namespace Honememo.Wptscs.Logics
766766
767767 // テストデータの変換結果を期待される結果と比較する
768768 // バージョン表記部分は毎回変化するため、期待される結果のうち該当部分を更新する
769- Assert.AreEqual(
769+ AssertEqualTextPerLines(
770770 File.ReadAllText(Path.Combine(ResultDir, "example_仮リンク有効.txt")).Replace("<!-- Wikipedia 翻訳支援ツール Ver0.73", "<!-- " + FormUtils.ApplicationName()),
771771 translator.Text);
772772
773773 // テストデータの変換ログを期待されるログと比較する
774774 // 1行目のパスが一致しないので、期待される結果のうち該当部分を更新する
775- Assert.AreEqual(
775+ AssertEqualTextPerLines(
776776 File.ReadAllText(Path.Combine(ResultDir, "example.log")).Replace("http://en.wikipedia.org", from.Location),
777777 translator.Log);
778778 }
@@ -813,13 +813,13 @@ namespace Honememo.Wptscs.Logics
813813
814814 // テストデータの変換結果を期待される結果と比較する
815815 // バージョン表記部分は毎回変化するため、期待される結果のうち該当部分を更新する
816- Assert.AreEqual(
816+ AssertEqualTextPerLines(
817817 File.ReadAllText(Path.Combine(ResultDir, "スペースシップツー.txt")).Replace("<!-- Wikipedia 翻訳支援ツール Ver0.73", "<!-- " + FormUtils.ApplicationName()),
818818 translator.Text);
819819
820820 // テストデータの変換ログを期待されるログと比較する
821821 // 1行目のパスが一致しないので、期待される結果のうち該当部分を更新する
822- Assert.AreEqual(
822+ AssertEqualTextPerLines(
823823 File.ReadAllText(Path.Combine(ResultDir, "スペースシップツー.log")).Replace("http://ja.wikipedia.org", from.Location),
824824 translator.Log);
825825 }
@@ -844,7 +844,7 @@ namespace Honememo.Wptscs.Logics
844844 catch (ApplicationException)
845845 {
846846 // 実行ログを期待されるログと比較する
847- Assert.AreEqual(
847+ AssertEqualTextPerLines(
848848 ("http://en.wikipedia.org より [[Nothing Page]] を取得。\r\n"
849849 + "→ 翻訳元として指定された記事は存在しません。記事名を確認してください。\r\n")
850850 .Replace("http://en.wikipedia.org", from.Location),
@@ -854,6 +854,31 @@ namespace Honememo.Wptscs.Logics
854854
855855 #endregion
856856
857+ #region テスト用メソッド
858+
859+ /// <summary>
860+ /// テキストを1行ずつ<see cref="Assert.AreEqual{T}(T, T)"/>で比較する。
861+ /// </summary>
862+ /// <param name="expected">期待値。</param>
863+ /// <param name="actual">実際の値。</param>
864+ private static void AssertEqualTextPerLines(string expected, string actual)
865+ {
866+ using (StringReader esr = new StringReader(expected))
867+ {
868+ using (StringReader asr = new StringReader(actual))
869+ {
870+ while (esr.Peek() > -1 || asr.Peek() > -1)
871+ {
872+ Assert.AreEqual(esr.ReadLine(), asr.ReadLine());
873+ }
874+
875+ Assert.AreEqual(esr.Peek(), asr.Peek());
876+ }
877+ }
878+ }
879+
880+ #endregion
881+
857882 #region テスト用クラス
858883
859884 /// <summary>
Show on old repository browser