LoginSignup
0
0

More than 3 years have passed since last update.

Java単体テストライブラリ-Artery-ArValidatorによるオブジェクトの妥当性判定

Posted at

目次 ⇒ Java単体テストライブラリ-Artery-サンプル

Q02_02.java
package jp.avaj.lib.test;

import jp.avaj.lib.algo.ArValidator;

/**
 * Java単体テストライブラリ-Artery-ArValidatorによるオブジェクトの妥当性判定
 *
 * ArValidatorを使用してオブジェクトの妥当性を判定することができる.
 * ArValidatorは、いろいろなものが定義できるので、いわばテストライブラリの機能を拡張することができる.
 */
public class Q02_02 {
  public static void main(String[] args) {
    // テストケースの開始を宣言する ⇒ 集計が不要な場合は不要
    ArTest.startTestCase("Q02_02");

    // ArValidatorの定義
    ArValidator<String> validator = new ArValidator<String>() {
      @Override
      public boolean check(String value) {
        return value.startsWith("a") && value.endsWith("z");
      }
      // toStringを定義しておくとログに出力されるので都合がよい.
      @Override
      public String toString() {
        return "仮テスト用";
      }
    };

    L.p("妥当性判定");
    {
      String str = "abcz";
      ArTest.isValid("abcz","validater",validator,"str",str);

      str = "abc";
      ArTest.isValid("abc ⇒ NG","validater",validator,"str",str);
    }

    L.p("非妥当性判定");
    // 妥当でないことを判定したいときはisNotValidを使用する ⇒ isInvalidではない
    {
      String str = "abcz";
      ArTest.isNotValid("abcz ⇒ NG","validater",validator,"str",str);

      str = "abc";
      ArTest.isNotValid("abc","validater",validator,"str",str);
    }

    // テストケースを終了する ⇒ 集計が不要な場合は不要
    ArTest.endTestCase();
  }
}

result.txt
**** Q02_02 start ****
妥当性判定
OK abcz:validater=仮テスト用:str=abcz
NG abc ⇒ NG:validater=仮テスト用:str=abc
jp.avaj.lib.test.Q02_02.main(Q02_02.java:35)
非妥当性判定
NG abcz ⇒ NG:validater=仮テスト用:str=abcz
jp.avaj.lib.test.Q02_02.main(Q02_02.java:42)
OK abc:validater=仮テスト用:str=abc
**** Q02_02 summary ****
test count = 4
success    = 2

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0