目次 ⇒ Java単体テストライブラリ-Artery-サンプル
Q05_02.java
package jp.avaj.lib.test;
import java.util.Date;
import jp.avaj.lib.algo.ArDate;
import jp.avaj.lib.algo.ArDateUtil;
/**
Java 単体テスト 同一日判定 ArDate,Date,Calendar,longが時刻を無視して同一日かを判定する
・このサンプルではArDateとDateを比較するサンプル示すが、上記のどの組み合わせでも比較可能.
・注、ArDateは日付のみを保持しており、時刻は扱わない.
*/
public class Q05_02 {
public static void main(String[] args) {
// テストケースを開始する.
ArTest.startTestCase("Q05_02");
// 当日
ArDate arDate0 = new ArDate();
// 当日、当時刻
Date date1 = new Date();
// これを比較すれば同一日
ArTest.sameDate("ArDate vs Date","arDate0",arDate0,"date1",date1);
// date1を一時間進める、引数は日→時間→分の指定、このメソッドはCalendar,longでも使用可能.
date1 = ArDateUtil.forward(date1,0,1,0,0);
// (このテストを23時以前に実行すれば)同一日となる
ArTest.sameDate("ArDate vs Date","arDate0",arDate0,"date1",date1);
// arDate0を一日進める
arDate0.forward(1);
// 両方を比較すれば、同一日ではない
ArTest.notSameDate("ArDate vs Date","arDate0",arDate0,"date1",date1);
// date1を一日進める、
date1 = ArDateUtil.forward(date1,1,0,0,0);
// 再び同一日となる
ArTest.sameDate("ArDate vs Date","arDate0",arDate0,"date1",date1);
//
// テストケースを終了する
ArTest.endTestCase();
}
}
結果は次の通り
result.txt
**** Q05_02 start ****
OK ArDate vs Date:arDate0=2019/10/23:date1=2019/10/23 06:37:09
OK ArDate vs Date:arDate0=2019/10/23:date1=2019/10/23 07:37:09
OK ArDate vs Date:arDate0=2019/10/24:date1=2019/10/23 07:37:09
OK ArDate vs Date:arDate0=2019/10/24:date1=2019/10/24 07:37:09
**** Q05_02 summary ****
test count = 4
success = 4