package test.assertion;
import org.testng.Assert;
import org.testng.asserts.Assertion;
import org.testng.asserts.IAssert;
import java.util.ArrayList;
import java.util.List;
public class MyRawAssertion extends Assertion {
private final List<String> methods = new ArrayList<>();
@Override
public void onAssertSuccess(IAssert assertCommand) {
methods.add("onAssertSuccess");
super.onAssertSuccess(assertCommand);
}
@Override
public void onAssertFailure(IAssert assertCommand) {
methods.add("deprecated_onAssertFailure");
super.onAssertFailure(assertCommand);
}
@Override
public void onAssertFailure(IAssert assertCommand, AssertionError ex) {
methods.add("onAssertFailure");
super.onAssertFailure(assertCommand, ex);
}
@Override
public void onBeforeAssert(IAssert assertCommand) {
methods.add("onBeforeAssert");
super.onBeforeAssert(assertCommand);
}
@Override
public void onAfterAssert(IAssert assertCommand) {
methods.add("onAfterAssert");
super.onAfterAssert(assertCommand);
}
public List<String> getMethods() {
return methods;
}
public void myAssert(final String actual, final boolean expected, final String message) {
doAssert(new IAssert() {
@Override
public String getMessage() {
return message;
}
@Override
public void doAssert() {
Assert.assertNotNull(actual, message);
Assert.assertTrue(expected, message);
}
@Override
public Object getActual() {
return actual;
}
@Override
public Object getExpected() {
return expected;
}
});
}
}