package com.googlecode.gwt.test.assertions; import com.google.gwt.user.client.ui.TextArea; import static org.assertj.core.util.Objects.areEqual; /** * Base class for {@link TextArea} assertions. * * @param <S> used to simulate "self types." For more information please read "<a href= * "http://passion.forco.de/content/emulating-self-types-using-java-generics-simplify-fluent-api-implementation" * target="_blank">Emulating 'self types' using Java Generics to simplify fluent API * implementation</a>." * @param <A> the type of the "actual" value. * @author Gael Lazzari */ public class BaseTextAreaAssert<S extends BaseTextAreaAssert<S, A>, A extends TextArea> extends BaseValueBoxBaseAssert<S, A, String> { /** * Creates a new <code>{@link BaseTextAreaAssert}</code>. * * @param actual the actual value to verify. * @param selfType the "self type." */ protected BaseTextAreaAssert(A actual, Class<S> selfType) { super(actual, selfType); } /** * Verifies that the actual {@link TextArea} character width is equal to the given one. * * @param expected the given character width to compare the actual value to. * @return this assertion object. * @throws AssertionError if the character width is not equal to the given one. * @see TextArea#getCharacterWidth() */ public S characterWidthEquals(int expected) { int width = actual.getCharacterWidth(); if (areEqual(width, expected)) return myself; throw propertyComparisonFailed("character width", width, expected); } /** * Verifies that the actual {@link TextArea} selection length is equal to the given one. * * @param expected the given selection length to compare the actual value to. * @return this assertion object. * @throws AssertionError if the actual selection length is not equal to the given one. * @see TextArea#getSelectionLength() */ public S selectionLengthEquals(int expected) { int length = actual.getSelectionLength(); if (areEqual(length, expected)) return myself; throw propertyComparisonFailed("selection length", length, expected); } /** * Verifies that the actual {@link TextArea} visible lines number is equal to the given one. * * @param expected the given visible lines number to compare the actual value to. * @return this assertion object. * @throws AssertionError if the actual visible lines number is not equal to the given one. * @see TextArea#getVisibleLines() */ public S visibleLinesEquals(int expected) { int linesNumber = actual.getVisibleLines(); if (areEqual(linesNumber, expected)) return myself; throw propertyComparisonFailed("visible lines number", linesNumber, expected); } }