All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.codeborne.selenide.ObjectCondition Maven / Gradle / Ivy

There is a newer version: 7.7.3
Show newest version
package com.codeborne.selenide;

import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.annotation.ParametersAreNonnullByDefault;

import static com.codeborne.selenide.CheckResult.accepted;
import static com.codeborne.selenide.CheckResult.rejected;

@ParametersAreNonnullByDefault
public interface ObjectCondition {
  @Nonnull
  @CheckReturnValue
  String description();

  @Nonnull
  @CheckReturnValue
  String negativeDescription();

  @CheckReturnValue
  CheckResult check(T object);

  @Nullable
  @CheckReturnValue
  String expectedValue();

  @Nonnull
  @CheckReturnValue
  String describe(T object);

  default String message(T object) {
    return describe(object) + " " + description();
  }

  default CheckResult result(T object, boolean met, @Nullable Object actualValue) {
    return met ? accepted(actualValue) : rejected(message(object), actualValue);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy