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

org.assertj.vavr.api.AbstractLazyAssert Maven / Gradle / Ivy

There is a newer version: 0.4.3
Show newest version
/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 *
 * Copyright 2017-2020 the original author or authors.
 */
package org.assertj.vavr.api;

import io.vavr.Lazy;

import static org.assertj.vavr.api.LazyShouldBeEvaluated.shouldBeEvaluated;
import static org.assertj.vavr.api.LazyShouldBeNotEvaluated.shouldBeNotEvaluated;

/**
 * Assertions for {@link Lazy}.
 *
 * @param   the "self" type of this assertion class.
 * @param  type of the value contained in the {@link Lazy}.
 */
abstract class AbstractLazyAssert, VALUE> extends
        AbstractValueAssert> {

    AbstractLazyAssert(Lazy actual, Class selfType) {
        super(actual, selfType);
    }

    /**
     * Verifies that the actual {@link Lazy} is evaluated.
     *
     * @return this assertion object.
     */
    public SELF isEvaluated() {
        isNotNull();
        if (!actual.isEvaluated()) throwAssertionError(shouldBeEvaluated());
        return myself;
    }

    /**
     * Verifies that the actual {@link Lazy} is not evaluated.
     *
     * @return this assertion object.
     */
    public SELF isNotEvaluated() {
        isNotNull();
        if (actual.isEvaluated()) throwAssertionError(shouldBeNotEvaluated(actual));
        return myself;
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy