編集:以下のコードは、私がやりたいことを示す例であることに注意してください。私の本当の質問は、Raphael Schweikert の言葉で、以前に印刷された出力をどのように (可能であれば) 検査できるかということです。/*SOME TEST HERE*/
つまり、カーソルSystem.out
が現在新しい行の先頭にあるかどうかを判断するために、プレースホルダーに配置できるテストは何ですか。
これは奇妙な質問かもしれません。我慢してください。次の Java コードを想定します。
public void method1() {
method2();
System.out.println("line1");
method2();
System.out.print("line2");
method2();
}
public void method2() {
System.out.println("method2");
}
OUTPUT when method1 called:
method2
line1
method2
line2method2
line2 と method2 の出力が 1 行に表示される最後の行に注意してください。私はそれを避けたいと思っていますが、line1の出力後に余分な空の行を表示したくありません. そこで、method2 を次のように書き直します。
public void method2() {
if (/* SOME TEST HERE */) {
System.out.println();
}
System.out.println("method2");
}
OUTPUT when method1 called:
method2
line1
method2
line2
method2
これを実現するためにここで実行できるテストはありますか?
注: 上部の編集セクションを参照してください。