package org.nzbhydra.config;

import org.assertj.core.api.AbstractComparableAssert;

/**
 * Abstract base class for {@link SearchSourceRestriction} specific assertions - Generated by CustomAssertionGenerator.
 */
@jakarta.annotation.Generated(value = "assertj-assertions-generator")
public abstract class AbstractSearchSourceRestrictionAssert<S extends AbstractSearchSourceRestrictionAssert<S, A>, A extends SearchSourceRestriction> extends AbstractComparableAssert<S, A> {

    /**
     * Creates a new <code>{@link AbstractSearchSourceRestrictionAssert}</code> to make assertions on actual SearchSourceRestriction.
     *
     * @param actual the SearchSourceRestriction we want to make assertions on.
     */
    protected AbstractSearchSourceRestrictionAssert(A actual, Class<S> selfType) {
        super(actual, selfType);
    }

    /**
     * Verifies that the actual SearchSourceRestriction is enabled.
     *
     * @return this assertion object.
     * @throws AssertionError - if the actual SearchSourceRestriction is not enabled.
     */
    public S isEnabled() {
        // check that actual SearchSourceRestriction we want to make assertions on is not null.
        isNotNull();

        // check that property call/field access is true
        if (!actual.isEnabled()) {
            failWithMessage("\nExpecting that actual SearchSourceRestriction is enabled but is not.");
        }

        // return the current assertion for method chaining
        return myself;
    }

    /**
     * Verifies that the actual SearchSourceRestriction is not enabled.
     *
     * @return this assertion object.
     * @throws AssertionError - if the actual SearchSourceRestriction is enabled.
     */
    public S isNotEnabled() {
        // check that actual SearchSourceRestriction we want to make assertions on is not null.
        isNotNull();

        // check that property call/field access is false
        if (actual.isEnabled()) {
            failWithMessage("\nExpecting that actual SearchSourceRestriction is not enabled but is.");
        }

        // return the current assertion for method chaining
        return myself;
    }

}
