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

com.googlecode.gwt.test.assertions.GwtInstanceAssert Maven / Gradle / Ivy

There is a newer version: 0.63
Show newest version
package com.googlecode.gwt.test.assertions;

import com.googlecode.gwt.test.finder.GwtInstance;

import java.util.Arrays;

import static org.assertj.core.util.Objects.namesOf;

/**
 * Assertions for {@link GwtInstance} wrapped object.
 * 

* To create a new instance of this class use the method * {@link GwtAssertions#assertThat(GwtInstance)}. *

* * @author Gael Lazzari */ public class GwtInstanceAssert extends GwtGenericAssert { /** * Creates a new
{@link GwtInstanceAssert}. * * @param instance the wrapper around the target to verify. */ protected GwtInstanceAssert(GwtInstance instance) { super(instance.getRaw(), GwtInstanceAssert.class); } /** * Verifies that the actual {@code Object} is an instance of the given type. * * @param type the type to check the actual {@code Object} against. * @return this assertion object. * @throws AssertionError if the actual {@code Object} is {@code null}. * @throws AssertionError if the actual {@code Object} is not an instance of the given type. * @throws IllegalArgumentException if the given type is {@code null}. */ @Override public GwtInstanceAssert isInstanceOf(Class type) { assertNotNull(); validateNotNull(type); Class current = actual.getClass(); if (!type.isAssignableFrom(current)) failWithMessage("expected instance of:<%s> but was instance of:<%s>", type, current); return this; } /** * Verifies that the actual {@code Object} is an instance of any of the given types. * * @param types the types to check the actual {@code Object} against. * @return this assertion object. * @throws AssertionError if the actual {@code Object} is {@code null}. * @throws AssertionError if the actual {@code Object} is not an instance of any of the given * types. * @throws IllegalArgumentException if the given array of types is {@code null}. * @throws IllegalArgumentException if the given array of types contains {@code null}s. */ @Override public GwtInstanceAssert isInstanceOfAny(Class... types) { isNotNull(); if (types == null) throw new IllegalArgumentException("The given array of types should not be null"); if (!foundInstanceOfAny(types)) failWithMessage("expected instance of any:<%s> but was instance of:<%s>", typeNames(types), actual.getClass().getName()); return this; } private void assertNotNull() { if (actual == null) { failWithMessage("expecting actual value not to be null"); } } private boolean foundInstanceOfAny(Class... types) { Class current = actual.getClass(); for (Class type : types) { validateNotNull(type); if (type.isAssignableFrom(current)) return true; } return false; } private String typeNames(Class... types) { return Arrays.toString(namesOf(types)); } private void validateNotNull(Class type) { if (type == null) throw new IllegalArgumentException("Expected type cannot be null"); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy