blob: 2aebaed6509bd1a2916ad1736156c1e3df8f5b9c [file] [log] [blame]
package test.assertion;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.testng.asserts.IAssert;
import org.testng.asserts.SoftAssert;
import java.util.ArrayList;
import java.util.Collection;
public class SoftAssertTest {
@Test
public void testOnSucceedAndFailureCalled() throws Exception {
final Collection<IAssert> succeed = new ArrayList<>();
final Collection<IAssert> failures = new ArrayList<>();
final SoftAssert sa = new SoftAssert() {
@Override
public void onAssertSuccess(IAssert assertCommand) {
succeed.add(assertCommand);
}
@Override
public void onAssertFailure(IAssert assertCommand, AssertionError ex) {
failures.add(assertCommand);
}
};
sa.assertTrue(true);
sa.assertTrue(false);
Assert.assertEquals(succeed.size(), 1, succeed.toString());
Assert.assertEquals(failures.size(), 1, failures.toString());
}
@Test
public void testAssertAllCount() throws Exception {
String message = "My message";
SoftAssert sa = new SoftAssert();
sa.assertTrue(true);
sa.assertTrue(false, message);
try {
sa.assertAll();
Assert.fail("Exception expected");
} catch (AssertionError e) {
String[] lines = e.getMessage().split("\r?\n");
Assert.assertEquals(lines.length, 2);
lines[1] = lines[1].replaceFirst(message, "");
Assert.assertFalse(lines[1].contains(message));
}
}
}