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

io.github.xinyangpan.cucumber.assertj.asserts.AssertjAbstractAssert Maven / Gradle / Ivy

package io.github.xinyangpan.cucumber.assertj.asserts;

import java.util.Map;

import org.assertj.core.api.AbstractObjectAssert;

import io.github.xinyangpan.cucumber.element.BaseElement;

public abstract class AssertjAbstractAssert, A> extends AbstractObjectAssert {

	public AssertjAbstractAssert(A actual, Class selfType) {
		super(actual, selfType);
	}

	// for Comparable - using compare
	// others - using equals
	public S isMatchTo(Map keyValueMap) {
		return isMatchTo(new BaseElement(keyValueMap));
	}

	public S isMatchTo(BaseElement baseElement) {
		AssertionError error;
		try {
			if (!baseElement.matches(actual)) {
				failWithMessage("Expected to be <%s> but was <%s>", baseElement, actual);
			}
			error = null;
		} catch (AssertionError e) {
			error = e;
		}
		// 
		if (baseElement.isExpectFail()) {
			if (error == null) {
				failWithMessage("Expected to fail but passed.", baseElement, actual);
			}
		} else {
			if (error != null) {
				throw error;
			}
		}
		return myself;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy