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

org.junit.jupiter.api.Assertions Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2015-2024 the original author or authors.
 *
 * All rights reserved. This program and the accompanying materials are
 * made available under the terms of the Eclipse Public License v2.0 which
 * accompanies this distribution and is available at
 *
 * https://www.eclipse.org/legal/epl-v20.html
 */

package org.junit.jupiter.api;

import static org.apiguardian.api.API.Status.INTERNAL;
import static org.apiguardian.api.API.Status.STABLE;

import java.time.Duration;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.function.BooleanSupplier;
import java.util.function.Supplier;
import java.util.stream.Stream;

import org.apiguardian.api.API;
import org.junit.jupiter.api.function.Executable;
import org.junit.jupiter.api.function.ThrowingSupplier;
import org.opentest4j.MultipleFailuresError;

/**
 * {@code Assertions} is a collection of utility methods that support asserting
 * conditions in tests.
 *
 * 

Unless otherwise noted, a failed assertion will throw an * {@link org.opentest4j.AssertionFailedError} or a subclass thereof. * *

Object Equality

* *

Assertion methods comparing two objects for equality, such as the * {@code assertEquals(expected, actual)} and {@code assertNotEquals(unexpected, actual)} * variants, are only intended to test equality for an (un-)expected value * and an actual value. They are not designed for testing whether a class correctly * implements {@link Object#equals(Object)}. For example, {@code assertEquals()} * might immediately return {@code true} when provided the same object for the * expected and actual values, without calling {@code equals(Object)} at all. * Tests that aim to verify the {@code equals(Object)} implementation should instead * be written to explicitly verify the {@link Object#equals(Object)} contract by * using {@link #assertTrue(boolean) assertTrue()} or {@link #assertFalse(boolean) * assertFalse()} — for example, {@code assertTrue(expected.equals(actual))}, * {@code assertTrue(actual.equals(expected))}, {@code assertFalse(expected.equals(null))}, * etc. * *

Kotlin Support

* *

Additional Kotlin assertions can be * found as top-level functions in the {@link org.junit.jupiter.api} * package. * *

Preemptive Timeouts

* *

The various {@code assertTimeoutPreemptively()} methods in this class * execute the provided callback ({@code executable} or {@code supplier}) in a * different thread than that of the calling code. If the timeout is exceeded, * an attempt will be made to preemptively abort execution of the callback by * {@linkplain Thread#interrupt() interrupting} the callback's thread. If the * callback's thread does not return when interrupted, the thread will continue * to run in the background after the {@code assertTimeoutPreemptively()} method * has returned. * *

Furthermore, the behavior of {@code assertTimeoutPreemptively()} methods * can lead to undesirable side effects if the code that is executed within the * callback relies on {@link ThreadLocal} storage. One common example of this is * the transactional testing support in the Spring Framework. Specifically, Spring's * testing support binds transaction state to the current thread (via a * {@code ThreadLocal}) before a test method is invoked. Consequently, if a * callback provided to {@code assertTimeoutPreemptively()} invokes Spring-managed * components that participate in transactions, any actions taken by those * components will not be rolled back with the test-managed transaction. On the * contrary, such actions will be committed to the persistent store (e.g., * relational database) even though the test-managed transaction is rolled back. * Similar side effects may be encountered with other frameworks that rely on * {@code ThreadLocal} storage. * *

Extensibility

* *

Although it is technically possible to extend this class, extension is * strongly discouraged. The JUnit Team highly recommends that the methods * defined in this class be used via static imports. * * @since 5.0 * @see org.opentest4j.AssertionFailedError * @see Assumptions */ @API(status = STABLE, since = "5.0") public class Assertions { /** * Protected constructor allowing subclassing but not direct instantiation. * * @since 5.3 */ @API(status = STABLE, since = "5.3") protected Assertions() { /* no-op */ } // --- fail ---------------------------------------------------------------- /** * Fail the test without a failure message. * *

Although failing with an explicit failure message is recommended, * this method may be useful when maintaining legacy code. * *

See Javadoc for {@link #fail(String)} for an explanation of this method's * generic return type {@code V}. */ public static V fail() { AssertionUtils.fail(); return null; // appeasing the compiler: this line will never be executed. } /** * Fail the test with the given failure {@code message}. * *

The generic return type {@code V} allows this method to be used * directly as a single-statement lambda expression, thereby avoiding the * need to implement a code block with an explicit return value. Since this * method throws an {@link org.opentest4j.AssertionFailedError} before its * return statement, this method never actually returns a value to its caller. * The following example demonstrates how this may be used in practice. * *

{@code
	 * Stream.of().map(entry -> fail("should not be called"));
	 * }
*/ public static V fail(String message) { AssertionUtils.fail(message); return null; // appeasing the compiler: this line will never be executed. } /** * Fail the test with the given failure {@code message} as well * as the underlying {@code cause}. * *

See Javadoc for {@link #fail(String)} for an explanation of this method's * generic return type {@code V}. */ public static V fail(String message, Throwable cause) { AssertionUtils.fail(message, cause); return null; // appeasing the compiler: this line will never be executed. } /** * Fail the test with the given underlying {@code cause}. * *

See Javadoc for {@link #fail(String)} for an explanation of this method's * generic return type {@code V}. */ public static V fail(Throwable cause) { AssertionUtils.fail(cause); return null; // appeasing the compiler: this line will never be executed. } /** * Fail the test with the failure message retrieved from the * given {@code messageSupplier}. * *

See Javadoc for {@link #fail(String)} for an explanation of this method's * generic return type {@code V}. */ public static V fail(Supplier messageSupplier) { AssertionUtils.fail(messageSupplier); return null; // appeasing the compiler: this line will never be executed. } // --- assertTrue ---------------------------------------------------------- /** * Assert that the supplied {@code condition} is {@code true}. */ public static void assertTrue(boolean condition) { AssertTrue.assertTrue(condition); } /** * Assert that the supplied {@code condition} is {@code true}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertTrue(boolean condition, Supplier messageSupplier) { AssertTrue.assertTrue(condition, messageSupplier); } /** * Assert that the boolean condition supplied by {@code booleanSupplier} is {@code true}. */ public static void assertTrue(BooleanSupplier booleanSupplier) { AssertTrue.assertTrue(booleanSupplier); } /** * Assert that the boolean condition supplied by {@code booleanSupplier} is {@code true}. *

Fails with the supplied failure {@code message}. */ public static void assertTrue(BooleanSupplier booleanSupplier, String message) { AssertTrue.assertTrue(booleanSupplier, message); } /** * Assert that the supplied {@code condition} is {@code true}. *

Fails with the supplied failure {@code message}. */ public static void assertTrue(boolean condition, String message) { AssertTrue.assertTrue(condition, message); } /** * Assert that the boolean condition supplied by {@code booleanSupplier} is {@code true}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertTrue(BooleanSupplier booleanSupplier, Supplier messageSupplier) { AssertTrue.assertTrue(booleanSupplier, messageSupplier); } // --- assertFalse --------------------------------------------------------- /** * Assert that the supplied {@code condition} is {@code false}. */ public static void assertFalse(boolean condition) { AssertFalse.assertFalse(condition); } /** * Assert that the supplied {@code condition} is {@code false}. *

Fails with the supplied failure {@code message}. */ public static void assertFalse(boolean condition, String message) { AssertFalse.assertFalse(condition, message); } /** * Assert that the supplied {@code condition} is {@code false}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertFalse(boolean condition, Supplier messageSupplier) { AssertFalse.assertFalse(condition, messageSupplier); } /** * Assert that the boolean condition supplied by {@code booleanSupplier} is {@code false}. */ public static void assertFalse(BooleanSupplier booleanSupplier) { AssertFalse.assertFalse(booleanSupplier); } /** * Assert that the boolean condition supplied by {@code booleanSupplier} is {@code false}. *

Fails with the supplied failure {@code message}. */ public static void assertFalse(BooleanSupplier booleanSupplier, String message) { AssertFalse.assertFalse(booleanSupplier, message); } /** * Assert that the boolean condition supplied by {@code booleanSupplier} is {@code false}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertFalse(BooleanSupplier booleanSupplier, Supplier messageSupplier) { AssertFalse.assertFalse(booleanSupplier, messageSupplier); } // --- assertNull ---------------------------------------------------------- /** * Assert that {@code actual} is {@code null}. */ public static void assertNull(Object actual) { AssertNull.assertNull(actual); } /** * Assert that {@code actual} is {@code null}. *

Fails with the supplied failure {@code message}. */ public static void assertNull(Object actual, String message) { AssertNull.assertNull(actual, message); } /** * Assert that {@code actual} is {@code null}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertNull(Object actual, Supplier messageSupplier) { AssertNull.assertNull(actual, messageSupplier); } // --- assertNotNull ------------------------------------------------------- /** * Assert that {@code actual} is not {@code null}. */ public static void assertNotNull(Object actual) { AssertNotNull.assertNotNull(actual); } /** * Assert that {@code actual} is not {@code null}. *

Fails with the supplied failure {@code message}. */ public static void assertNotNull(Object actual, String message) { AssertNotNull.assertNotNull(actual, message); } /** * Assert that {@code actual} is not {@code null}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertNotNull(Object actual, Supplier messageSupplier) { AssertNotNull.assertNotNull(actual, messageSupplier); } // --- assertEquals -------------------------------------------------------- /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(short expected, short actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(short expected, Short actual) { AssertEquals.assertEquals((Short) expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(Short expected, short actual) { AssertEquals.assertEquals(expected, (Short) actual); } /** * Assert that {@code expected} and {@code actual} are equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Short expected, Short actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(short expected, short actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(short expected, Short actual, String message) { AssertEquals.assertEquals((Short) expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(Short expected, short actual, String message) { AssertEquals.assertEquals(expected, (Short) actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Short expected, Short actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(short expected, short actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(short expected, Short actual, Supplier messageSupplier) { AssertEquals.assertEquals((Short) expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(Short expected, short actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, (Short) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Short expected, Short actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(byte expected, byte actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(byte expected, Byte actual) { AssertEquals.assertEquals((Byte) expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(Byte expected, byte actual) { AssertEquals.assertEquals(expected, (Byte) actual); } /** * Assert that {@code expected} and {@code actual} are equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Byte expected, Byte actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(byte expected, byte actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(byte expected, Byte actual, String message) { AssertEquals.assertEquals((Byte) expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(Byte expected, byte actual, String message) { AssertEquals.assertEquals(expected, (Byte) actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Byte expected, Byte actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(byte expected, byte actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(byte expected, Byte actual, Supplier messageSupplier) { AssertEquals.assertEquals((Byte) expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(Byte expected, byte actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, (Byte) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Byte expected, Byte actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(int expected, int actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(int expected, Integer actual) { AssertEquals.assertEquals((Integer) expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(Integer expected, int actual) { AssertEquals.assertEquals(expected, (Integer) actual); } /** * Assert that {@code expected} and {@code actual} are equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Integer expected, Integer actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(int expected, int actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(int expected, Integer actual, String message) { AssertEquals.assertEquals((Integer) expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(Integer expected, int actual, String message) { AssertEquals.assertEquals(expected, (Integer) actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Integer expected, Integer actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(int expected, int actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(int expected, Integer actual, Supplier messageSupplier) { AssertEquals.assertEquals((Integer) expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(Integer expected, int actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, (Integer) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Integer expected, Integer actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(long expected, long actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(long expected, Long actual) { AssertEquals.assertEquals((Long) expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(Long expected, long actual) { AssertEquals.assertEquals(expected, (Long) actual); } /** * Assert that {@code expected} and {@code actual} are equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Long expected, Long actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(long expected, long actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(long expected, Long actual, String message) { AssertEquals.assertEquals((Long) expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(Long expected, long actual, String message) { AssertEquals.assertEquals(expected, (Long) actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Long expected, Long actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(long expected, long actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(long expected, Long actual, Supplier messageSupplier) { AssertEquals.assertEquals((Long) expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(Long expected, long actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, (Long) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Long expected, Long actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. */ public static void assertEquals(float expected, float actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. */ public static void assertEquals(float expected, Float actual) { AssertEquals.assertEquals((Float) expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. */ public static void assertEquals(Float expected, float actual) { AssertEquals.assertEquals(expected, (Float) actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Float expected, Float actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(float expected, float actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(float expected, Float actual, String message) { AssertEquals.assertEquals((Float) expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(Float expected, float actual, String message) { AssertEquals.assertEquals(expected, (Float) actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Float expected, Float actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(float expected, float actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(float expected, Float actual, Supplier messageSupplier) { AssertEquals.assertEquals((Float) expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(Float expected, float actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, (Float) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Float expected, Float actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. */ public static void assertEquals(float expected, float actual, float delta) { AssertEquals.assertEquals(expected, actual, delta); } /** * Assert that {@code expected} and {@code actual} are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(float expected, float actual, float delta, String message) { AssertEquals.assertEquals(expected, actual, delta, message); } /** * Assert that {@code expected} and {@code actual} are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(float expected, float actual, float delta, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, delta, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. */ public static void assertEquals(double expected, double actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. */ public static void assertEquals(double expected, Double actual) { AssertEquals.assertEquals((Double) expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. */ public static void assertEquals(Double expected, double actual) { AssertEquals.assertEquals(expected, (Double) actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Double expected, Double actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(double expected, double actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(double expected, Double actual, String message) { AssertEquals.assertEquals((Double) expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(Double expected, double actual, String message) { AssertEquals.assertEquals(expected, (Double) actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Double expected, Double actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(double expected, double actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(double expected, Double actual, Supplier messageSupplier) { AssertEquals.assertEquals((Double) expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(Double expected, double actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, (Double) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Double expected, Double actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. */ public static void assertEquals(double expected, double actual, double delta) { AssertEquals.assertEquals(expected, actual, delta); } /** * Assert that {@code expected} and {@code actual} are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(double expected, double actual, double delta, String message) { AssertEquals.assertEquals(expected, actual, delta, message); } /** * Assert that {@code expected} and {@code actual} are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(double expected, double actual, double delta, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, delta, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(char expected, char actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(char expected, Character actual) { AssertEquals.assertEquals((Character) expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. */ public static void assertEquals(Character expected, char actual) { AssertEquals.assertEquals(expected, (Character) actual); } /** * Assert that {@code expected} and {@code actual} are equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Character expected, Character actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(char expected, char actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(char expected, Character actual, String message) { AssertEquals.assertEquals((Character) expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. */ public static void assertEquals(Character expected, char actual, String message) { AssertEquals.assertEquals(expected, (Character) actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Character expected, Character actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(char expected, char actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(char expected, Character actual, Supplier messageSupplier) { AssertEquals.assertEquals((Character) expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertEquals(Character expected, char actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, (Character) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertEquals(Character expected, Character actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are equal. *

If both are {@code null}, they are considered equal. * * @see Object#equals(Object) */ public static void assertEquals(Object expected, Object actual) { AssertEquals.assertEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} are equal. *

If both are {@code null}, they are considered equal. *

Fails with the supplied failure {@code message}. * * @see Object#equals(Object) */ public static void assertEquals(Object expected, Object actual, String message) { AssertEquals.assertEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} are equal. *

If both are {@code null}, they are considered equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. * * @see Object#equals(Object) */ public static void assertEquals(Object expected, Object actual, Supplier messageSupplier) { AssertEquals.assertEquals(expected, actual, messageSupplier); } // --- assertArrayEquals --------------------------------------------------- /** * Assert that {@code expected} and {@code actual} boolean arrays are equal. *

If both are {@code null}, they are considered equal. */ public static void assertArrayEquals(boolean[] expected, boolean[] actual) { AssertArrayEquals.assertArrayEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} boolean arrays are equal. *

If both are {@code null}, they are considered equal. *

Fails with the supplied failure {@code message}. */ public static void assertArrayEquals(boolean[] expected, boolean[] actual, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} boolean arrays are equal. *

If both are {@code null}, they are considered equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertArrayEquals(boolean[] expected, boolean[] actual, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} char arrays are equal. *

If both are {@code null}, they are considered equal. */ public static void assertArrayEquals(char[] expected, char[] actual) { AssertArrayEquals.assertArrayEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} char arrays are equal. *

If both are {@code null}, they are considered equal. *

Fails with the supplied failure {@code message}. */ public static void assertArrayEquals(char[] expected, char[] actual, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} char arrays are equal. *

If both are {@code null}, they are considered equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertArrayEquals(char[] expected, char[] actual, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} byte arrays are equal. *

If both are {@code null}, they are considered equal. */ public static void assertArrayEquals(byte[] expected, byte[] actual) { AssertArrayEquals.assertArrayEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} byte arrays are equal. *

If both are {@code null}, they are considered equal. *

Fails with the supplied failure {@code message}. */ public static void assertArrayEquals(byte[] expected, byte[] actual, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} byte arrays are equal. *

If both are {@code null}, they are considered equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertArrayEquals(byte[] expected, byte[] actual, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} short arrays are equal. *

If both are {@code null}, they are considered equal. */ public static void assertArrayEquals(short[] expected, short[] actual) { AssertArrayEquals.assertArrayEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} short arrays are equal. *

If both are {@code null}, they are considered equal. *

Fails with the supplied failure {@code message}. */ public static void assertArrayEquals(short[] expected, short[] actual, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} short arrays are equal. *

If both are {@code null}, they are considered equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertArrayEquals(short[] expected, short[] actual, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} int arrays are equal. *

If both are {@code null}, they are considered equal. */ public static void assertArrayEquals(int[] expected, int[] actual) { AssertArrayEquals.assertArrayEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} int arrays are equal. *

If both are {@code null}, they are considered equal. *

Fails with the supplied failure {@code message}. */ public static void assertArrayEquals(int[] expected, int[] actual, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} int arrays are equal. *

If both are {@code null}, they are considered equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertArrayEquals(int[] expected, int[] actual, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} long arrays are equal. *

If both are {@code null}, they are considered equal. */ public static void assertArrayEquals(long[] expected, long[] actual) { AssertArrayEquals.assertArrayEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} long arrays are equal. *

If both are {@code null}, they are considered equal. *

Fails with the supplied failure {@code message}. */ public static void assertArrayEquals(long[] expected, long[] actual, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} long arrays are equal. *

If both are {@code null}, they are considered equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertArrayEquals(long[] expected, long[] actual, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} float arrays are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. */ public static void assertArrayEquals(float[] expected, float[] actual) { AssertArrayEquals.assertArrayEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} float arrays are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

Fails with the supplied failure {@code message}. */ public static void assertArrayEquals(float[] expected, float[] actual, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} float arrays are equal. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertArrayEquals(float[] expected, float[] actual, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} float arrays are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. */ public static void assertArrayEquals(float[] expected, float[] actual, float delta) { AssertArrayEquals.assertArrayEquals(expected, actual, delta); } /** * Assert that {@code expected} and {@code actual} float arrays are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

Fails with the supplied failure {@code message}. */ public static void assertArrayEquals(float[] expected, float[] actual, float delta, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, delta, message); } /** * Assert that {@code expected} and {@code actual} float arrays are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Float#equals(Object)} and * {@link Float#compare(float, float)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertArrayEquals(float[] expected, float[] actual, float delta, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, delta, messageSupplier); } /** * Assert that {@code expected} and {@code actual} double arrays are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. */ public static void assertArrayEquals(double[] expected, double[] actual) { AssertArrayEquals.assertArrayEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} double arrays are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

Fails with the supplied failure {@code message}. */ public static void assertArrayEquals(double[] expected, double[] actual, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} double arrays are equal. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertArrayEquals(double[] expected, double[] actual, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} double arrays are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. */ public static void assertArrayEquals(double[] expected, double[] actual, double delta) { AssertArrayEquals.assertArrayEquals(expected, actual, delta); } /** * Assert that {@code expected} and {@code actual} double arrays are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

Fails with the supplied failure {@code message}. */ public static void assertArrayEquals(double[] expected, double[] actual, double delta, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, delta, message); } /** * Assert that {@code expected} and {@code actual} double arrays are equal within the given non-negative {@code delta}. *

Equality imposed by this method is consistent with {@link Double#equals(Object)} and * {@link Double#compare(double, double)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. */ public static void assertArrayEquals(double[] expected, double[] actual, double delta, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, delta, messageSupplier); } /** * Assert that {@code expected} and {@code actual} object arrays are deeply equal. *

If both are {@code null}, they are considered equal. *

Nested float arrays are checked as in {@link #assertEquals(float, float)}. *

Nested double arrays are checked as in {@link #assertEquals(double, double)}. * * @see Objects#equals(Object, Object) * @see Arrays#deepEquals(Object[], Object[]) */ public static void assertArrayEquals(Object[] expected, Object[] actual) { AssertArrayEquals.assertArrayEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} object arrays are deeply equal. *

If both are {@code null}, they are considered equal. *

Nested float arrays are checked as in {@link #assertEquals(float, float)}. *

Nested double arrays are checked as in {@link #assertEquals(double, double)}. *

Fails with the supplied failure {@code message}. * * @see Objects#equals(Object, Object) * @see Arrays#deepEquals(Object[], Object[]) */ public static void assertArrayEquals(Object[] expected, Object[] actual, String message) { AssertArrayEquals.assertArrayEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} object arrays are deeply equal. *

If both are {@code null}, they are considered equal. *

Nested float arrays are checked as in {@link #assertEquals(float, float)}. *

Nested double arrays are checked as in {@link #assertEquals(double, double)}. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. * * @see Objects#equals(Object, Object) * @see Arrays#deepEquals(Object[], Object[]) */ public static void assertArrayEquals(Object[] expected, Object[] actual, Supplier messageSupplier) { AssertArrayEquals.assertArrayEquals(expected, actual, messageSupplier); } // --- assertIterableEquals -------------------------------------------- /** * Assert that {@code expected} and {@code actual} iterables are deeply equal. *

Similarly to the check for deep equality in {@link #assertArrayEquals(Object[], Object[])}, * if two iterables are encountered (including {@code expected} and {@code actual}) then their * iterators must return equal elements in the same order as each other. Note: * this means that the iterables do not need to be of the same type. Example:

{@code
	 * import static java.util.Arrays.asList;
	 *  . . .
	 * Iterable i0 = new ArrayList<>(asList(1, 2, 3));
	 * Iterable i1 = new LinkedList<>(asList(1, 2, 3));
	 * assertIterableEquals(i0, i1); // Passes
	 * }
*

If both {@code expected} and {@code actual} are {@code null}, they are considered equal. * * @see Objects#equals(Object, Object) * @see Arrays#deepEquals(Object[], Object[]) * @see #assertArrayEquals(Object[], Object[]) */ public static void assertIterableEquals(Iterable expected, Iterable actual) { AssertIterableEquals.assertIterableEquals(expected, actual); } /** * Assert that {@code expected} and {@code actual} iterables are deeply equal. *

Similarly to the check for deep equality in * {@link #assertArrayEquals(Object[], Object[], String)}, if two iterables are encountered * (including {@code expected} and {@code actual}) then their iterators must return equal * elements in the same order as each other. Note: this means that the iterables * do not need to be of the same type. Example:

{@code
	 * import static java.util.Arrays.asList;
	 *  . . .
	 * Iterable i0 = new ArrayList<>(asList(1, 2, 3));
	 * Iterable i1 = new LinkedList<>(asList(1, 2, 3));
	 * assertIterableEquals(i0, i1); // Passes
	 * }
*

If both {@code expected} and {@code actual} are {@code null}, they are considered equal. *

Fails with the supplied failure {@code message}. * * @see Objects#equals(Object, Object) * @see Arrays#deepEquals(Object[], Object[]) * @see #assertArrayEquals(Object[], Object[], String) */ public static void assertIterableEquals(Iterable expected, Iterable actual, String message) { AssertIterableEquals.assertIterableEquals(expected, actual, message); } /** * Assert that {@code expected} and {@code actual} iterables are deeply equal. *

Similarly to the check for deep equality in * {@link #assertArrayEquals(Object[], Object[], Supplier)}, if two iterables are encountered * (including {@code expected} and {@code actual}) then their iterators must return equal * elements in the same order as each other. Note: this means that the iterables * do not need to be of the same type. Example:

{@code
	 * import static java.util.Arrays.asList;
	 *  . . .
	 * Iterable i0 = new ArrayList<>(asList(1, 2, 3));
	 * Iterable i1 = new LinkedList<>(asList(1, 2, 3));
	 * assertIterableEquals(i0, i1); // Passes
	 * }
*

If both {@code expected} and {@code actual} are {@code null}, they are considered equal. *

If necessary, the failure message will be retrieved lazily from the supplied {@code messageSupplier}. * * @see Objects#equals(Object, Object) * @see Arrays#deepEquals(Object[], Object[]) * @see #assertArrayEquals(Object[], Object[], Supplier) */ public static void assertIterableEquals(Iterable expected, Iterable actual, Supplier messageSupplier) { AssertIterableEquals.assertIterableEquals(expected, actual, messageSupplier); } // --- assertLinesMatch ---------------------------------------------------- /** * Assert that {@code expected} list of {@linkplain String}s matches {@code actual} * list. * *

This method differs from other assertions that effectively only check {@link String#equals(Object)}, * in that it uses the following staged matching algorithm: * *

For each pair of expected and actual lines do *

    *
  1. check if {@code expected.equals(actual)} - if yes, continue with next pair
  2. *
  3. otherwise treat {@code expected} as a regular expression and check via * {@link String#matches(String)} - if yes, continue with next pair
  4. *
  5. otherwise check if {@code expected} line is a fast-forward marker, if yes apply * fast-forward actual lines accordingly (see below) and goto 1.
  6. *
* *

A valid fast-forward marker is an expected line that starts and ends with the literal * {@code >>} and contains at least 4 characters. Examples: *

    *
  • {@code >>>>}
    {@code >> stacktrace >>}
    {@code >> single line, non Integer.parse()-able comment >>} *
    Skip arbitrary number of actual lines, until first matching subsequent expected line is found. Any * character between the fast-forward literals are discarded.
  • *
  • {@code ">> 21 >>"} *
    Skip strictly 21 lines. If they can't be skipped for any reason, an assertion error is raised.
  • *
* *

Here is an example showing all three kinds of expected line formats: *

{@code
	 * ls -la /
	 * total [\d]+
	 * drwxr-xr-x  0 root root   512 Jan  1  1970 .
	 * drwxr-xr-x  0 root root   512 Jan  1  1970 ..
	 * drwxr-xr-x  0 root root   512 Apr  5 07:45 bin
	 * >> 4 >>
	 * -rwxr-xr-x  1 root root [\d]+ Jan  1  1970 init
	 * >> M A N Y  M O R E  E N T R I E S >>
	 * drwxr-xr-x  0 root root   512 Sep 22  2017 var
	 * }
*

Fails with a generated failure message describing the difference. */ public static void assertLinesMatch(List expectedLines, List actualLines) { AssertLinesMatch.assertLinesMatch(expectedLines, actualLines); } /** * Assert that {@code expected} list of {@linkplain String}s matches {@code actual} * list. * *

Find a detailed description of the matching algorithm in {@link #assertLinesMatch(List, List)}. * *

Fails with the supplied failure {@code message} and the generated message. * * @see #assertLinesMatch(List, List) */ public static void assertLinesMatch(List expectedLines, List actualLines, String message) { AssertLinesMatch.assertLinesMatch(expectedLines, actualLines, message); } /** * Assert that {@code expected} list of {@linkplain String}s matches {@code actual} * list. * *

Find a detailed description of the matching algorithm in {@link #assertLinesMatch(List, List)}. * *

If necessary, a custom failure message will be retrieved lazily from the supplied * {@code messageSupplier}. Fails with the custom failure message prepended to * a generated failure message describing the difference. * * @see #assertLinesMatch(List, List) */ public static void assertLinesMatch(List expectedLines, List actualLines, Supplier messageSupplier) { AssertLinesMatch.assertLinesMatch(expectedLines, actualLines, messageSupplier); } /** * Assert that {@code expected} stream of {@linkplain String}s matches {@code actual} * stream. * *

Find a detailed description of the matching algorithm in {@link #assertLinesMatch(List, List)}. * *

Note: An implementation of this method may consume all lines of both streams eagerly and * delegate the evaluation to {@link #assertLinesMatch(List, List)}. * * @since 5.7 * @see #assertLinesMatch(List, List) */ public static void assertLinesMatch(Stream expectedLines, Stream actualLines) { AssertLinesMatch.assertLinesMatch(expectedLines, actualLines); } /** * Assert that {@code expected} stream of {@linkplain String}s matches {@code actual} * stream. * *

Find a detailed description of the matching algorithm in {@link #assertLinesMatch(List, List)}. * *

Fails with the supplied failure {@code message} and the generated message. * *

Note: An implementation of this method may consume all lines of both streams eagerly and * delegate the evaluation to {@link #assertLinesMatch(List, List)}. * * @since 5.7 * @see #assertLinesMatch(List, List) */ public static void assertLinesMatch(Stream expectedLines, Stream actualLines, String message) { AssertLinesMatch.assertLinesMatch(expectedLines, actualLines, message); } /** * Assert that {@code expected} stream of {@linkplain String}s matches {@code actual} * stream. * *

Find a detailed description of the matching algorithm in {@link #assertLinesMatch(List, List)}. * *

If necessary, a custom failure message will be retrieved lazily from the supplied * {@code messageSupplier}. Fails with the custom failure message prepended to * a generated failure message describing the difference. * *

Note: An implementation of this method may consume all lines of both streams eagerly and * delegate the evaluation to {@link #assertLinesMatch(List, List)}. * * @since 5.7 * @see #assertLinesMatch(List, List) */ public static void assertLinesMatch(Stream expectedLines, Stream actualLines, Supplier messageSupplier) { AssertLinesMatch.assertLinesMatch(expectedLines, actualLines, messageSupplier); } // --- assertNotEquals ----------------------------------------------------- /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(byte unexpected, byte actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(byte unexpected, Byte actual) { AssertNotEquals.assertNotEquals((Byte) unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Byte unexpected, byte actual) { AssertNotEquals.assertNotEquals(unexpected, (Byte) actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Byte unexpected, Byte actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(byte unexpected, byte actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(byte unexpected, Byte actual, String message) { AssertNotEquals.assertNotEquals((Byte) unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Byte unexpected, byte actual, String message) { AssertNotEquals.assertNotEquals(unexpected, (Byte) actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Byte unexpected, Byte actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(byte unexpected, byte actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(byte unexpected, Byte actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals((Byte) unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Byte unexpected, byte actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, (Byte) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Byte unexpected, Byte actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(short unexpected, short actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(short unexpected, Short actual) { AssertNotEquals.assertNotEquals((Short) unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Short unexpected, short actual) { AssertNotEquals.assertNotEquals(unexpected, (Short) actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Short unexpected, Short actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(short unexpected, short actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(short unexpected, Short actual, String message) { AssertNotEquals.assertNotEquals((Short) unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Short unexpected, short actual, String message) { AssertNotEquals.assertNotEquals(unexpected, (Short) actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Short unexpected, Short actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(short unexpected, short actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(short unexpected, Short actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals((Short) unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Short unexpected, short actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, (Short) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Short unexpected, Short actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(int unexpected, int actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(int unexpected, Integer actual) { AssertNotEquals.assertNotEquals((Integer) unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Integer unexpected, int actual) { AssertNotEquals.assertNotEquals(unexpected, (Integer) actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Integer unexpected, Integer actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(int unexpected, int actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(int unexpected, Integer actual, String message) { AssertNotEquals.assertNotEquals((Integer) unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Integer unexpected, int actual, String message) { AssertNotEquals.assertNotEquals(unexpected, (Integer) actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Integer unexpected, Integer actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(int unexpected, int actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(int unexpected, Integer actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals((Integer) unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Integer unexpected, int actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, (Integer) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Integer unexpected, Integer actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(long unexpected, long actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(long unexpected, Long actual) { AssertNotEquals.assertNotEquals((Long) unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Long unexpected, long actual) { AssertNotEquals.assertNotEquals(unexpected, (Long) actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Long unexpected, Long actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(long unexpected, long actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(long unexpected, Long actual, String message) { AssertNotEquals.assertNotEquals((Long) unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Long unexpected, long actual, String message) { AssertNotEquals.assertNotEquals(unexpected, (Long) actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Long unexpected, Long actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(long unexpected, long actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(long unexpected, Long actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals((Long) unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Long unexpected, long actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, (Long) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Long unexpected, Long actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(float unexpected, float actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(float unexpected, Float actual) { AssertNotEquals.assertNotEquals((Float) unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Float unexpected, float actual) { AssertNotEquals.assertNotEquals(unexpected, (Float) actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Float unexpected, Float actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(float unexpected, float actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(float unexpected, Float actual, String message) { AssertNotEquals.assertNotEquals((Float) unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Float unexpected, float actual, String message) { AssertNotEquals.assertNotEquals(unexpected, (Float) actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Float unexpected, Float actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(float unexpected, float actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(float unexpected, Float actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals((Float) unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Float unexpected, float actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, (Float) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Float unexpected, Float actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal * within the given {@code delta}. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(float unexpected, float actual, float delta) { AssertNotEquals.assertNotEquals(unexpected, actual, delta); } /** * Assert that {@code expected} and {@code actual} are not equal * within the given {@code delta}. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(float unexpected, float actual, float delta, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, delta, message); } /** * Assert that {@code expected} and {@code actual} are not equal * within the given {@code delta}. * *

Inequality imposed by this method is consistent with * {@link Float#equals(Object)} and {@link Float#compare(float, float)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(float unexpected, float actual, float delta, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, delta, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(double unexpected, double actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(double unexpected, Double actual) { AssertNotEquals.assertNotEquals((Double) unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Double unexpected, double actual) { AssertNotEquals.assertNotEquals(unexpected, (Double) actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Double unexpected, Double actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(double unexpected, double actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(double unexpected, Double actual, String message) { AssertNotEquals.assertNotEquals((Double) unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Double unexpected, double actual, String message) { AssertNotEquals.assertNotEquals(unexpected, (Double) actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Double unexpected, Double actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(double unexpected, double actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(double unexpected, Double actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals((Double) unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Double unexpected, double actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, (Double) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Double unexpected, Double actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal * within the given {@code delta}. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(double unexpected, double actual, double delta) { AssertNotEquals.assertNotEquals(unexpected, actual, delta); } /** * Assert that {@code expected} and {@code actual} are not equal * within the given {@code delta}. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(double unexpected, double actual, double delta, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, delta, message); } /** * Assert that {@code expected} and {@code actual} are not equal * within the given {@code delta}. * *

Inequality imposed by this method is consistent with * {@link Double#equals(Object)} and {@link Double#compare(double, double)}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(double unexpected, double actual, double delta, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, delta, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(char unexpected, char actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(char unexpected, Character actual) { AssertNotEquals.assertNotEquals((Character) unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Character unexpected, char actual) { AssertNotEquals.assertNotEquals(unexpected, (Character) actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Character unexpected, Character actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(char unexpected, char actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(char unexpected, Character actual, String message) { AssertNotEquals.assertNotEquals((Character) unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Character unexpected, char actual, String message) { AssertNotEquals.assertNotEquals(unexpected, (Character) actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails with the supplied failure {@code message}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Character unexpected, Character actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(char unexpected, char actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(char unexpected, Character actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals((Character) unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Character unexpected, char actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, (Character) actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.4 */ @API(status = STABLE, since = "5.4") public static void assertNotEquals(Character unexpected, Character actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails if both are {@code null}. * * @see Object#equals(Object) */ public static void assertNotEquals(Object unexpected, Object actual) { AssertNotEquals.assertNotEquals(unexpected, actual); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails if both are {@code null}. * *

Fails with the supplied failure {@code message}. * * @see Object#equals(Object) */ public static void assertNotEquals(Object unexpected, Object actual, String message) { AssertNotEquals.assertNotEquals(unexpected, actual, message); } /** * Assert that {@code expected} and {@code actual} are not equal. * *

Fails if both are {@code null}. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @see Object#equals(Object) */ public static void assertNotEquals(Object unexpected, Object actual, Supplier messageSupplier) { AssertNotEquals.assertNotEquals(unexpected, actual, messageSupplier); } // --- assertSame ---------------------------------------------------------- /** * Assert that the {@code expected} object and the {@code actual} object * are the same object. *

This method should only be used to assert identity between objects. * To assert equality between two objects or two primitive values, * use one of the {@code assertEquals(...)} methods instead — for example, * use {@code assertEquals(999, 999)} instead of {@code assertSame(999, 999)}. */ public static void assertSame(Object expected, Object actual) { AssertSame.assertSame(expected, actual); } /** * Assert that the {@code expected} object and the {@code actual} object * are the same object. *

This method should only be used to assert identity between objects. * To assert equality between two objects or two primitive values, * use one of the {@code assertEquals(...)} methods instead — for example, * use {@code assertEquals(999, 999)} instead of {@code assertSame(999, 999)}. *

Fails with the supplied failure {@code message}. */ public static void assertSame(Object expected, Object actual, String message) { AssertSame.assertSame(expected, actual, message); } /** * Assert that the {@code expected} object and the {@code actual} object * are the same object. *

This method should only be used to assert identity between objects. * To assert equality between two objects or two primitive values, * use one of the {@code assertEquals(...)} methods instead — for example, * use {@code assertEquals(999, 999)} instead of {@code assertSame(999, 999)}. *

If necessary, the failure message will be retrieved lazily from the supplied * {@code messageSupplier}. */ public static void assertSame(Object expected, Object actual, Supplier messageSupplier) { AssertSame.assertSame(expected, actual, messageSupplier); } // --- assertNotSame ------------------------------------------------------- /** * Assert that the {@code unexpected} object and the {@code actual} * object are not the same object. *

This method should only be used to compare the identity of two * objects. To assert that two objects or two primitive values are not * equal, use one of the {@code assertNotEquals(...)} methods instead. */ public static void assertNotSame(Object unexpected, Object actual) { AssertNotSame.assertNotSame(unexpected, actual); } /** * Assert that the {@code unexpected} object and the {@code actual} * object are not the same object. *

This method should only be used to compare the identity of two * objects. To assert that two objects or two primitive values are not * equal, use one of the {@code assertNotEquals(...)} methods instead. *

Fails with the supplied failure {@code message}. */ public static void assertNotSame(Object unexpected, Object actual, String message) { AssertNotSame.assertNotSame(unexpected, actual, message); } /** * Assert that the {@code unexpected} object and the {@code actual} * object are not the same object. *

This method should only be used to compare the identity of two * objects. To assert that two objects or two primitive values are not * equal, use one of the {@code assertNotEquals(...)} methods instead. *

If necessary, the failure message will be retrieved lazily from the supplied * {@code messageSupplier}. */ public static void assertNotSame(Object unexpected, Object actual, Supplier messageSupplier) { AssertNotSame.assertNotSame(unexpected, actual, messageSupplier); } // --- assertAll ----------------------------------------------------------- /** * Assert that all supplied {@code executables} do not throw * exceptions. * *

See Javadoc for {@link #assertAll(String, Stream)} for an explanation of this * method's exception handling semantics. * * @see #assertAll(String, Executable...) * @see #assertAll(Collection) * @see #assertAll(String, Collection) * @see #assertAll(Stream) * @see #assertAll(String, Stream) */ public static void assertAll(Executable... executables) throws MultipleFailuresError { AssertAll.assertAll(executables); } /** * Assert that all supplied {@code executables} do not throw * exceptions. * *

See Javadoc for {@link #assertAll(String, Stream)} for an explanation of this * method's exception handling semantics. * * @see #assertAll(Executable...) * @see #assertAll(Collection) * @see #assertAll(Stream) * @see #assertAll(String, Collection) * @see #assertAll(String, Stream) */ public static void assertAll(String heading, Executable... executables) throws MultipleFailuresError { AssertAll.assertAll(heading, executables); } /** * Assert that all supplied {@code executables} do not throw * exceptions. * *

See Javadoc for {@link #assertAll(String, Stream)} for an explanation of this * method's exception handling semantics. * * @see #assertAll(Executable...) * @see #assertAll(String, Executable...) * @see #assertAll(String, Collection) * @see #assertAll(Stream) * @see #assertAll(String, Stream) */ public static void assertAll(Collection executables) throws MultipleFailuresError { AssertAll.assertAll(executables); } /** * Assert that all supplied {@code executables} do not throw * exceptions. * *

See Javadoc for {@link #assertAll(String, Stream)} for an explanation of this * method's exception handling semantics. * * @see #assertAll(Executable...) * @see #assertAll(String, Executable...) * @see #assertAll(Collection) * @see #assertAll(Stream) * @see #assertAll(String, Stream) */ public static void assertAll(String heading, Collection executables) throws MultipleFailuresError { AssertAll.assertAll(heading, executables); } /** * Assert that all supplied {@code executables} do not throw * exceptions. * *

See Javadoc for {@link #assertAll(String, Stream)} for an explanation of this * method's exception handling semantics. * * @see #assertAll(Executable...) * @see #assertAll(String, Executable...) * @see #assertAll(Collection) * @see #assertAll(String, Collection) * @see #assertAll(String, Stream) */ public static void assertAll(Stream executables) throws MultipleFailuresError { AssertAll.assertAll(executables); } /** * Assert that all supplied {@code executables} do not throw * exceptions. * *

If any supplied {@link Executable} throws an exception (i.e., a {@link Throwable} * or any subclass thereof), all remaining {@code executables} will still be executed, * and all exceptions will be aggregated and reported in a {@link MultipleFailuresError}. * In addition, all aggregated exceptions will be added as {@linkplain * Throwable#addSuppressed(Throwable) suppressed exceptions} to the * {@code MultipleFailuresError}. However, if an {@code executable} throws an * unrecoverable exception — for example, an {@link OutOfMemoryError} * — execution will halt immediately, and the unrecoverable exception will be * rethrown as is but masked as an unchecked exception. * *

The supplied {@code heading} will be included in the message string for the * {@code MultipleFailuresError}. * * @see #assertAll(Executable...) * @see #assertAll(String, Executable...) * @see #assertAll(Collection) * @see #assertAll(String, Collection) * @see #assertAll(Stream) */ public static void assertAll(String heading, Stream executables) throws MultipleFailuresError { AssertAll.assertAll(heading, executables); } // --- assert exceptions --------------------------------------------------- // --- executable --- /** * Assert that execution of the supplied {@code executable} throws * an exception of exactly the {@code expectedType} and return the exception. * *

If no exception is thrown, or if an exception of a different type is * thrown, this method will fail. * *

If you do not want to perform additional checks on the exception instance, * ignore the return value. * * @since 5.8 */ @API(status = STABLE, since = "5.10") public static T assertThrowsExactly(Class expectedType, Executable executable) { return AssertThrowsExactly.assertThrowsExactly(expectedType, executable); } /** * Assert that execution of the supplied {@code executable} throws * an exception of exactly the {@code expectedType} and return the exception. * *

If no exception is thrown, or if an exception of a different type is * thrown, this method will fail. * *

If you do not want to perform additional checks on the exception instance, * ignore the return value. * *

Fails with the supplied failure {@code message}. Note that the supplied * {@code message} is not the expected message of the thrown * exception. To assert the expected message of the thrown exception, you must * use a separate, subsequent assertion against the exception returned from * this method. * * @since 5.8 */ @API(status = STABLE, since = "5.10") public static T assertThrowsExactly(Class expectedType, Executable executable, String message) { return AssertThrowsExactly.assertThrowsExactly(expectedType, executable, message); } /** * Assert that execution of the supplied {@code executable} throws * an exception of exactly the {@code expectedType} and return the exception. * *

If no exception is thrown, or if an exception of a different type is * thrown, this method will fail. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. Note that the failure message is * not the expected message of the thrown exception. To * assert the expected message of the thrown exception, you must use a * separate, subsequent assertion against the exception returned from this * method. * *

If you do not want to perform additional checks on the exception instance, * ignore the return value. * * @since 5.8 */ @API(status = STABLE, since = "5.10") public static T assertThrowsExactly(Class expectedType, Executable executable, Supplier messageSupplier) { return AssertThrowsExactly.assertThrowsExactly(expectedType, executable, messageSupplier); } /** * Assert that execution of the supplied {@code executable} throws * an exception of the {@code expectedType} and return the exception. * *

The assertion passes if the thrown exception type is the same as * {@code expectedType} or a subtype thereof. To check for the exact thrown * type use {@link #assertThrowsExactly(Class, Executable) assertThrowsExactly}. * If no exception is thrown, or if an exception of a different type is thrown, * this method will fail. * *

If you do not want to perform additional checks on the exception instance, * ignore the return value. * * @see #assertThrowsExactly(Class, Executable) */ public static T assertThrows(Class expectedType, Executable executable) { return AssertThrows.assertThrows(expectedType, executable); } /** * Assert that execution of the supplied {@code executable} throws * an exception of the {@code expectedType} and return the exception. * *

The assertion passes if the thrown exception type is the same as * {@code expectedType} or a subtype thereof. To check for the exact thrown * type use {@link #assertThrowsExactly(Class, Executable, String) assertThrowsExactly}. * If no exception is thrown, or if an exception of a different type is thrown, * this method will fail. * *

If you do not want to perform additional checks on the exception instance, * ignore the return value. * *

Fails with the supplied failure {@code message}. Note that the supplied * {@code message} is not the expected message of the thrown * exception. To assert the expected message of the thrown exception, you must * use a separate, subsequent assertion against the exception returned from * this method. * * @see #assertThrowsExactly(Class, Executable, String) */ public static T assertThrows(Class expectedType, Executable executable, String message) { return AssertThrows.assertThrows(expectedType, executable, message); } /** * Assert that execution of the supplied {@code executable} throws * an exception of the {@code expectedType} and return the exception. * *

The assertion passes if the thrown exception type is the same as * {@code expectedType} or a subtype thereof. To check for the exact thrown * type use {@link #assertThrowsExactly(Class, Executable, Supplier) assertThrowsExactly}. * If no exception is thrown, or if an exception of a different type is thrown, * this method will fail. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. Note that the failure message is * not the expected message of the thrown exception. To * assert the expected message of the thrown exception, you must use a * separate, subsequent assertion against the exception returned from this * method. * *

If you do not want to perform additional checks on the exception instance, * ignore the return value. * * @see #assertThrowsExactly(Class, Executable, Supplier) */ public static T assertThrows(Class expectedType, Executable executable, Supplier messageSupplier) { return AssertThrows.assertThrows(expectedType, executable, messageSupplier); } // --- executable --- /** * Assert that execution of the supplied {@code executable} does * not throw any kind of {@linkplain Throwable exception}. * *

Usage Note

*

Although any exception thrown from a test method will cause the test * to fail, there are certain use cases where it can be beneficial * to explicitly assert that an exception is not thrown for a given code * block within a test method. * * @since 5.2 */ @API(status = STABLE, since = "5.2") public static void assertDoesNotThrow(Executable executable) { AssertDoesNotThrow.assertDoesNotThrow(executable); } /** * Assert that execution of the supplied {@code executable} does * not throw any kind of {@linkplain Throwable exception}. * *

Usage Note

*

Although any exception thrown from a test method will cause the test * to fail, there are certain use cases where it can be beneficial * to explicitly assert that an exception is not thrown for a given code * block within a test method. * *

Fails with the supplied failure {@code message}. * * @since 5.2 */ @API(status = STABLE, since = "5.2") public static void assertDoesNotThrow(Executable executable, String message) { AssertDoesNotThrow.assertDoesNotThrow(executable, message); } /** * Assert that execution of the supplied {@code executable} does * not throw any kind of {@linkplain Throwable exception}. * *

Usage Note

*

Although any exception thrown from a test method will cause the test * to fail, there are certain use cases where it can be beneficial * to explicitly assert that an exception is not thrown for a given code * block within a test method. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.2 */ @API(status = STABLE, since = "5.2") public static void assertDoesNotThrow(Executable executable, Supplier messageSupplier) { AssertDoesNotThrow.assertDoesNotThrow(executable, messageSupplier); } // --- supplier --- /** * Assert that execution of the supplied {@code supplier} does * not throw any kind of {@linkplain Throwable exception}. * *

If the assertion passes, the {@code supplier}'s result will be returned. * *

Usage Note

*

Although any exception thrown from a test method will cause the test * to fail, there are certain use cases where it can be beneficial * to explicitly assert that an exception is not thrown for a given code * block within a test method. * * @since 5.2 */ @API(status = STABLE, since = "5.2") public static T assertDoesNotThrow(ThrowingSupplier supplier) { return AssertDoesNotThrow.assertDoesNotThrow(supplier); } /** * Assert that execution of the supplied {@code supplier} does * not throw any kind of {@linkplain Throwable exception}. * *

If the assertion passes, the {@code supplier}'s result will be returned. * *

Fails with the supplied failure {@code message}. * *

Usage Note

*

Although any exception thrown from a test method will cause the test * to fail, there are certain use cases where it can be beneficial * to explicitly assert that an exception is not thrown for a given code * block within a test method. * * @since 5.2 */ @API(status = STABLE, since = "5.2") public static T assertDoesNotThrow(ThrowingSupplier supplier, String message) { return AssertDoesNotThrow.assertDoesNotThrow(supplier, message); } /** * Assert that execution of the supplied {@code supplier} does * not throw any kind of {@linkplain Throwable exception}. * *

If the assertion passes, the {@code supplier}'s result will be returned. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * *

Usage Note

*

Although any exception thrown from a test method will cause the test * to fail, there are certain use cases where it can be beneficial * to explicitly assert that an exception is not thrown for a given code * block within a test method. * * @since 5.2 */ @API(status = STABLE, since = "5.2") public static T assertDoesNotThrow(ThrowingSupplier supplier, Supplier messageSupplier) { return AssertDoesNotThrow.assertDoesNotThrow(supplier, messageSupplier); } // --- assertTimeout ------------------------------------------------------- // --- executable --- /** * Assert that execution of the supplied {@code executable} * completes before the given {@code timeout} is exceeded. * *

Note: the {@code executable} will be executed in the same thread as that * of the calling code. Consequently, execution of the {@code executable} will * not be preemptively aborted if the timeout is exceeded. * * @see #assertTimeout(Duration, Executable, String) * @see #assertTimeout(Duration, Executable, Supplier) * @see #assertTimeout(Duration, ThrowingSupplier) * @see #assertTimeout(Duration, ThrowingSupplier, String) * @see #assertTimeout(Duration, ThrowingSupplier, Supplier) * @see #assertTimeoutPreemptively(Duration, Executable) */ public static void assertTimeout(Duration timeout, Executable executable) { AssertTimeout.assertTimeout(timeout, executable); } /** * Assert that execution of the supplied {@code executable} * completes before the given {@code timeout} is exceeded. * *

Note: the {@code executable} will be executed in the same thread as that * of the calling code. Consequently, execution of the {@code executable} will * not be preemptively aborted if the timeout is exceeded. * *

Fails with the supplied failure {@code message}. * * @see #assertTimeout(Duration, Executable) * @see #assertTimeout(Duration, Executable, Supplier) * @see #assertTimeout(Duration, ThrowingSupplier) * @see #assertTimeout(Duration, ThrowingSupplier, String) * @see #assertTimeout(Duration, ThrowingSupplier, Supplier) * @see #assertTimeoutPreemptively(Duration, Executable, String) */ public static void assertTimeout(Duration timeout, Executable executable, String message) { AssertTimeout.assertTimeout(timeout, executable, message); } /** * Assert that execution of the supplied {@code executable} * completes before the given {@code timeout} is exceeded. * *

Note: the {@code executable} will be executed in the same thread as that * of the calling code. Consequently, execution of the {@code executable} will * not be preemptively aborted if the timeout is exceeded. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @see #assertTimeout(Duration, Executable) * @see #assertTimeout(Duration, Executable, String) * @see #assertTimeout(Duration, ThrowingSupplier) * @see #assertTimeout(Duration, ThrowingSupplier, String) * @see #assertTimeout(Duration, ThrowingSupplier, Supplier) * @see #assertTimeoutPreemptively(Duration, Executable, Supplier) */ public static void assertTimeout(Duration timeout, Executable executable, Supplier messageSupplier) { AssertTimeout.assertTimeout(timeout, executable, messageSupplier); } // --- supplier --- /** * Assert that execution of the supplied {@code supplier} * completes before the given {@code timeout} is exceeded. * *

If the assertion passes then the {@code supplier}'s result is returned. * *

Note: the {@code supplier} will be executed in the same thread as that * of the calling code. Consequently, execution of the {@code supplier} will * not be preemptively aborted if the timeout is exceeded. * * @see #assertTimeout(Duration, Executable) * @see #assertTimeout(Duration, Executable, String) * @see #assertTimeout(Duration, Executable, Supplier) * @see #assertTimeout(Duration, ThrowingSupplier, String) * @see #assertTimeout(Duration, ThrowingSupplier, Supplier) * @see #assertTimeoutPreemptively(Duration, Executable) */ public static T assertTimeout(Duration timeout, ThrowingSupplier supplier) { return AssertTimeout.assertTimeout(timeout, supplier); } /** * Assert that execution of the supplied {@code supplier} * completes before the given {@code timeout} is exceeded. * *

If the assertion passes then the {@code supplier}'s result is returned. * *

Note: the {@code supplier} will be executed in the same thread as that * of the calling code. Consequently, execution of the {@code supplier} will * not be preemptively aborted if the timeout is exceeded. * *

Fails with the supplied failure {@code message}. * * @see #assertTimeout(Duration, Executable) * @see #assertTimeout(Duration, Executable, String) * @see #assertTimeout(Duration, Executable, Supplier) * @see #assertTimeout(Duration, ThrowingSupplier) * @see #assertTimeout(Duration, ThrowingSupplier, Supplier) * @see #assertTimeoutPreemptively(Duration, Executable, String) */ public static T assertTimeout(Duration timeout, ThrowingSupplier supplier, String message) { return AssertTimeout.assertTimeout(timeout, supplier, message); } /** * Assert that execution of the supplied {@code supplier} * completes before the given {@code timeout} is exceeded. * *

If the assertion passes then the {@code supplier}'s result is returned. * *

Note: the {@code supplier} will be executed in the same thread as that * of the calling code. Consequently, execution of the {@code supplier} will * not be preemptively aborted if the timeout is exceeded. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @see #assertTimeout(Duration, Executable) * @see #assertTimeout(Duration, Executable, String) * @see #assertTimeout(Duration, Executable, Supplier) * @see #assertTimeout(Duration, ThrowingSupplier) * @see #assertTimeout(Duration, ThrowingSupplier, String) * @see #assertTimeoutPreemptively(Duration, Executable, Supplier) */ public static T assertTimeout(Duration timeout, ThrowingSupplier supplier, Supplier messageSupplier) { return AssertTimeout.assertTimeout(timeout, supplier, messageSupplier); } // --- executable - preemptively --- /** * Assert that execution of the supplied {@code executable} * completes before the given {@code timeout} is exceeded. * *

See the {@linkplain Assertions Preemptive Timeouts} section of the * class-level Javadoc for further details. * * @see #assertTimeoutPreemptively(Duration, Executable, String) * @see #assertTimeoutPreemptively(Duration, Executable, Supplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, String) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, Supplier) * @see #assertTimeout(Duration, Executable) */ public static void assertTimeoutPreemptively(Duration timeout, Executable executable) { AssertTimeoutPreemptively.assertTimeoutPreemptively(timeout, executable); } /** * Assert that execution of the supplied {@code executable} * completes before the given {@code timeout} is exceeded. * *

See the {@linkplain Assertions Preemptive Timeouts} section of the * class-level Javadoc for further details. * *

Fails with the supplied failure {@code message}. * * @see #assertTimeoutPreemptively(Duration, Executable) * @see #assertTimeoutPreemptively(Duration, Executable, Supplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, String) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, Supplier) * @see #assertTimeout(Duration, Executable, String) */ public static void assertTimeoutPreemptively(Duration timeout, Executable executable, String message) { AssertTimeoutPreemptively.assertTimeoutPreemptively(timeout, executable, message); } /** * Assert that execution of the supplied {@code executable} * completes before the given {@code timeout} is exceeded. * *

See the {@linkplain Assertions Preemptive Timeouts} section of the * class-level Javadoc for further details. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @see #assertTimeoutPreemptively(Duration, Executable) * @see #assertTimeoutPreemptively(Duration, Executable, String) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, String) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, Supplier) * @see #assertTimeout(Duration, Executable, Supplier) */ public static void assertTimeoutPreemptively(Duration timeout, Executable executable, Supplier messageSupplier) { AssertTimeoutPreemptively.assertTimeoutPreemptively(timeout, executable, messageSupplier); } // --- supplier - preemptively --- /** * Assert that execution of the supplied {@code supplier} * completes before the given {@code timeout} is exceeded. * *

See the {@linkplain Assertions Preemptive Timeouts} section of the * class-level Javadoc for further details. * *

If the assertion passes then the {@code supplier}'s result is returned. * * @see #assertTimeoutPreemptively(Duration, Executable) * @see #assertTimeoutPreemptively(Duration, Executable, String) * @see #assertTimeoutPreemptively(Duration, Executable, Supplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, String) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, Supplier) * @see #assertTimeout(Duration, Executable) */ public static T assertTimeoutPreemptively(Duration timeout, ThrowingSupplier supplier) { return AssertTimeoutPreemptively.assertTimeoutPreemptively(timeout, supplier); } /** * Assert that execution of the supplied {@code supplier} * completes before the given {@code timeout} is exceeded. * *

See the {@linkplain Assertions Preemptive Timeouts} section of the * class-level Javadoc for further details. * *

If the assertion passes then the {@code supplier}'s result is returned. * *

Fails with the supplied failure {@code message}. * * @see #assertTimeoutPreemptively(Duration, Executable) * @see #assertTimeoutPreemptively(Duration, Executable, String) * @see #assertTimeoutPreemptively(Duration, Executable, Supplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, Supplier) * @see #assertTimeout(Duration, Executable, String) */ public static T assertTimeoutPreemptively(Duration timeout, ThrowingSupplier supplier, String message) { return AssertTimeoutPreemptively.assertTimeoutPreemptively(timeout, supplier, message); } /** * Assert that execution of the supplied {@code supplier} * completes before the given {@code timeout} is exceeded. * *

See the {@linkplain Assertions Preemptive Timeouts} section of the * class-level Javadoc for further details. * *

If the assertion passes then the {@code supplier}'s result is returned. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @see #assertTimeoutPreemptively(Duration, Executable) * @see #assertTimeoutPreemptively(Duration, Executable, String) * @see #assertTimeoutPreemptively(Duration, Executable, Supplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, String) * @see #assertTimeout(Duration, Executable, Supplier) */ public static T assertTimeoutPreemptively(Duration timeout, ThrowingSupplier supplier, Supplier messageSupplier) { return AssertTimeoutPreemptively.assertTimeoutPreemptively(timeout, supplier, messageSupplier); } /** * Assert that execution of the supplied {@code supplier} * completes before the given {@code timeout} is exceeded. * *

See the {@linkplain Assertions Preemptive Timeouts} section of the * class-level Javadoc for further details. * *

If the assertion passes then the {@code supplier}'s result is returned. * *

In the case the assertion does not pass, the supplied * {@link TimeoutFailureFactory} is invoked to create an exception which is * then thrown. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @see #assertTimeoutPreemptively(Duration, Executable) * @see #assertTimeoutPreemptively(Duration, Executable, String) * @see #assertTimeoutPreemptively(Duration, Executable, Supplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier) * @see #assertTimeoutPreemptively(Duration, ThrowingSupplier, String) * @see #assertTimeout(Duration, Executable, Supplier) */ @API(status = INTERNAL, since = "5.9.1") public static T assertTimeoutPreemptively(Duration timeout, ThrowingSupplier supplier, Supplier messageSupplier, TimeoutFailureFactory failureFactory) throws E { return AssertTimeoutPreemptively.assertTimeoutPreemptively(timeout, supplier, messageSupplier, failureFactory); } // --- assertInstanceOf ---------------------------------------------------- /** * Assert that the supplied {@code actualValue} is an instance of the * {@code expectedType}. * *

Like the {@code instanceof} operator a {@code null} value is not * considered to be of the {@code expectedType} and does not pass the assertion. * * @since 5.8 */ @API(status = STABLE, since = "5.10") public static T assertInstanceOf(Class expectedType, Object actualValue) { return AssertInstanceOf.assertInstanceOf(expectedType, actualValue); } /** * Assert that the supplied {@code actualValue} is an instance of the * {@code expectedType}. * *

Like the {@code instanceof} operator a {@code null} value is not * considered to be of the {@code expectedType} and does not pass the assertion. * *

Fails with the supplied failure {@code message}. * * @since 5.8 */ @API(status = STABLE, since = "5.10") public static T assertInstanceOf(Class expectedType, Object actualValue, String message) { return AssertInstanceOf.assertInstanceOf(expectedType, actualValue, message); } /** * Assert that the supplied {@code actualValue} is an instance of the * {@code expectedType}. * *

Like the {@code instanceof} operator a {@code null} value is not * considered to be of the {@code expectedType} and does not pass the assertion. * *

If necessary, the failure message will be retrieved lazily from the * supplied {@code messageSupplier}. * * @since 5.8 */ @API(status = STABLE, since = "5.10") public static T assertInstanceOf(Class expectedType, Object actualValue, Supplier messageSupplier) { return AssertInstanceOf.assertInstanceOf(expectedType, actualValue, messageSupplier); } /** * Factory for timeout failures. * * @param The type of error or exception created * @since 5.9.1 * @see Assertions#assertTimeoutPreemptively(Duration, ThrowingSupplier, Supplier, TimeoutFailureFactory) */ @API(status = INTERNAL, since = "5.9.1") public interface TimeoutFailureFactory { /** * Create a failure for the given timeout, message, and cause. * * @return timeout failure; never {@code null} */ T createTimeoutFailure(Duration timeout, Supplier messageSupplier, Throwable cause); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy