Inhaltsverzeichnis ⇒ Java Algorithm Library-Artery-Sample
Q01_15.java
package jp.avaj.lib.algo;
import java.util.Collection;
import java.util.List;
import jp.avaj.lib.test.ArTest;
import jp.avaj.lib.test.L;
/**
Einschlussbeurteilung von Sammlungselementen mit ArValidator
- Beurteilen Sie das Element mit ArValidator und beurteilen Sie, ob die Sammlung die folgenden Bedingungen erfüllt.Jeder hat seinen eigenen ArValidator
・ Es gibt nur ein Element, das die Bedingungen erfüllt.
    ⇒ ArValidatorCollectionContainsOnlyOne
・ Es gibt ein oder mehrere Elemente, die die Bedingungen erfüllen
    ⇒ ArValidatorCollectionContains
・ Alle Elemente erfüllen die Bedingungen.
    ⇒ ArValidatorCollectionContainsAll
・ Es gibt kein Element, das die Bedingungen erfüllt.
    ⇒ ArValidatorCollectionContainsNone
・ In diesem Beispiel Liste<String>Der Anfang des Elements ist"a"Und am Ende"z"Überprüfen Sie, ob.
 */
public class Q01_15 {
  public static void main(String[] args) {
    //Starten Sie einen Testfall, der nicht erforderlich ist, wenn Sie keine Aggregation benötigen
    ArTest.startTestCase("Q01_15");
    //Testdaten
    List<String> listZero = ArList.construct("abc0,abc1,abc2,abc3");
    List<String> listOne = ArList.construct("abc0,abc1,abc2,abc3z");
    List<String> listTwo = ArList.construct("abc0,abc1z,abc2,abc3z");
    List<String> listAll = ArList.construct("abc0z,abc1z,abc2z,abc3z");
    //ArValidator für einzelne Elemente
    ArValidator<String> itemValidator = new ArValidator<String>() {
      @Override
      public boolean check(String value) {
        return value.startsWith("a") && value.endsWith("z");
      }
    };
    boolean result;
    //ArValidator zum Überprüfen der gesamten Liste
    ArValidator<Collection<String>> validator;
    L.p("Es gibt nur ein Element, das die Bedingung erfüllt");
    {
      validator = new ArValidatorCollectionContainsOnlyOne<String>(itemValidator);
      //
      result = validator.check(listZero);
      ArTest.isFalse("listZero","result",result);
      //
      result = validator.check(listOne);
      ArTest.isTrue("listOne","result",result);
      //
      result = validator.check(listTwo);
      ArTest.isFalse("listTwo","result",result);
      //
      result = validator.check(listAll);
      ArTest.isFalse("listAll","result",result);
    }
    L.p("Es gibt ein oder mehrere Elemente, die die Bedingungen erfüllen");
    {
      validator = new ArValidatorCollectionContains<String>(itemValidator);
      //
      result = validator.check(listZero);
      ArTest.isFalse("listZero","result",result);
      //
      result = validator.check(listOne);
      ArTest.isTrue("listOne","result",result);
      //
      result = validator.check(listTwo);
      ArTest.isTrue("listTwo","result",result);
      //
      result = validator.check(listAll);
      ArTest.isTrue("listAll","result",result);
    }
    L.p("Alle Elemente erfüllen die Bedingungen");
    {
      validator = new ArValidatorCollectionContainsAll<String>(itemValidator);
      //
      result = validator.check(listZero);
      ArTest.isFalse("listZero","result",result);
      //
      result = validator.check(listOne);
      ArTest.isFalse("listOne","result",result);
      //
      result = validator.check(listTwo);
      ArTest.isFalse("listTwo","result",result);
      //
      result = validator.check(listAll);
      ArTest.isTrue("listAll","result",result);
    }
    L.p("Es gibt kein Element, das die Bedingung erfüllt");
    {
      validator = new ArValidatorCollectionContainsNone<String>(itemValidator);
      //
      result = validator.check(listZero);
      ArTest.isTrue("listZero","result",result);
      //
      result = validator.check(listOne);
      ArTest.isFalse("listOne","result",result);
      //
      result = validator.check(listTwo);
      ArTest.isFalse("listTwo","result",result);
      //
      result = validator.check(listAll);
      ArTest.isFalse("listAll","result",result);
    }
    //
    //Beenden Sie den Testfall, unnötig, wenn Sie keine Aggregation benötigen
    ArTest.endTestCase();
  }
}
Das Ergebnis ist wie folgt
result.txt
**** Q01_15 start ****
Es gibt nur ein Element, das die Bedingung erfüllt
OK listZero:result=false
OK listOne:result=true
OK listTwo:result=false
OK listAll:result=false
Es gibt ein oder mehrere Elemente, die die Bedingungen erfüllen
OK listZero:result=false
OK listOne:result=true
OK listTwo:result=true
OK listAll:result=true
Alle Elemente erfüllen die Bedingungen
OK listZero:result=false
OK listOne:result=false
OK listTwo:result=false
OK listAll:result=true
Es gibt kein Element, das die Bedingung erfüllt
OK listZero:result=true
OK listOne:result=false
OK listTwo:result=false
OK listAll:result=false
**** Q01_15 summary ****
test count = 16
success    = 16
        Recommended Posts