package ru.stqa.trainings.testng.simple4.sample18;
import org.hamcrest.Matcher;
import org.hamcrest.MatcherAssert;
import org.testng.asserts.IAssert;
import org.testng.asserts.SoftAssert;
public class SoftHamcrestAssert extends SoftAssert {
public <T> void assertThat(final T actual, final Matcher<? super T> matcher) {
doAssert(new IAssert() {
@Override
public void doAssert() {
MatcherAssert.assertThat(actual, matcher);
}
@Override
public Object getActual() {
return actual;
}
@Override
public Object getExpected() {
return null;
}
@Override
public String getMessage() {
return null;
}
});
}
public <T> void assertThat(final String reason, final T actual, final Matcher<? super T> matcher) {
doAssert(new IAssert() {
@Override
public void doAssert() {
MatcherAssert.assertThat(reason, actual, matcher);
}
@Override
public Object getActual() {
return actual;
}
@Override
public Object getExpected() {
return null;
}
@Override
public String getMessage() {
return reason;
}
});
}
}