Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix/assert equals #384

Merged
merged 6 commits into from
Jan 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,24 @@ public void assertEquals(Object actual, Object expected, Object subject) {
}
}

@Override
public void assertEquals(long actual, long expected, Object subject) {
try {
Assert.assertEquals(actual, expected);
} catch (AssertionError e) {
fail(formatExpectEquals(actual, expected, subject));
}
}

@Override
public void assertEquals(double actual, double expected, Object subject) {
try {
Assert.assertEquals(actual, expected);
} catch (AssertionError e) {
fail(formatExpectEquals(actual, expected, subject));
}
}

@Override
public void assertEquals(Collection<?> actual, Collection<?> expected, Object subject) {
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,156 +29,208 @@

/**
* Provides common useful assertions
*
* @author Mike Reiche
*/
public interface SimpleAssertion {
default void fail(String message, Throwable cause) {
fail(new AssertionError(message, cause));
}

default void fail(String message) {
fail(message, null);
}

void fail(Error error);

default BigDecimal toBigDecimal(Object number) {
return new BigDecimal(number.toString());
}

void assertTrue(boolean actual, Object subject);

default void assertTrue(boolean actual) {
assertTrue(actual, null);
}

void assertFalse(boolean actual, Object subject);

default void assertFalse(boolean actual) {
assertFalse(actual, null);
}

void assertSame(Object actual, Object expected, Object subject);

default void assertSame(Object actual, Object expected) {
assertSame(actual, expected, null);
}

void assertNotSame(Object actual, Object expected, Object subject);

default void assertNotSame(Object actual, Object expected) {
assertNotSame(actual, expected, null);
}

void assertNull(Object actual, Object subject);

default void assertNull(Object actual) {
assertNull(actual, null);
}

void assertNotNull(Object actual, Object subject);

default void assertNotNull(Object actual) {
assertNotNull(actual, null);
}

void assertContains(String actual, String expected, Object subject);

default void assertContains(String actual, String expected) {
assertContains(actual, expected, null);
}

void assertContainsNot(String actual, String expected, Object subject);

default void assertContainsNot(String actual, String expected) {
assertContainsNot(actual, expected, null);
}

void assertGreaterThan(BigDecimal actual, BigDecimal expected, Object subject);

default void assertGreaterThan(BigDecimal actual, BigDecimal expected) {
assertGreaterThan(actual, expected, null);
}

default void assertGreaterThan(Object actual, Object expected, Object subject) {
assertGreaterThan(toBigDecimal(actual), toBigDecimal(expected), subject);
}

default void assertGreaterThan(Object actual, Object expected) {
assertGreaterThan(actual, expected, null);
}


void assertGreaterEqualThan(BigDecimal actual, BigDecimal expected, Object subject);

default void assertGreaterEqualThan(BigDecimal actual, BigDecimal expected) {
assertGreaterEqualThan(actual, expected, null);
}

default void assertGreaterEqualThan(Object actual, Object expected) {
assertGreaterEqualThan(actual, expected, null);
}

default void assertGreaterEqualThan(Object actual, Object expected, Object subject) {
assertGreaterEqualThan(toBigDecimal(actual), toBigDecimal(expected), subject);
}

void assertLowerThan(BigDecimal actual, BigDecimal expected, Object subject);

default void assertLowerThan(BigDecimal actual, BigDecimal expected) {
assertLowerThan(actual, expected, null);
}

default void assertLowerThan(Object actual, Object expected, Object subject) {
assertLowerThan(toBigDecimal(actual), toBigDecimal(expected), subject);
}

default void assertLowerThan(Object actual, Object expected) {
assertLowerThan(actual, expected, null);
}

void assertLowerEqualThan(BigDecimal actual, BigDecimal expected, Object subject);

default void assertLowerEqualThan(BigDecimal actual, BigDecimal expected) {
assertLowerEqualThan(actual, expected, null);
}

default void assertLowerEqualThan(Object actual, Object expected) {
assertLowerEqualThan(actual, expected, null);
}

default void assertLowerEqualThan(Object actual, Object expected, Object subject) {
assertLowerEqualThan(this.toBigDecimal(actual), this.toBigDecimal(expected), subject);
}

void assertBetween(BigDecimal actual, BigDecimal lower, BigDecimal higher, Object subject);

default void assertBetween(BigDecimal actual, BigDecimal lower, BigDecimal higher) {
assertBetween(actual, lower, higher, null);
}

default void assertBetween(Object actual, Object lower, Object higher) {
assertBetween(actual, lower, higher, null);
}

default void assertBetween(Object actual, Object lower, Object higher, Object subject) {
assertBetween(toBigDecimal(actual), toBigDecimal(lower), toBigDecimal(higher), subject);
}

void assertEquals(Object actual, Object expected, Object subject);

void assertEquals(long actual, long expected, Object subject);

void assertEquals(double actual, double expected, Object subject);

void assertEquals(Collection<?> actual, Collection<?> expected, Object subject);

void assertEquals(Iterator<?> actual, Iterator<?> expected, Object subject);

void assertEquals(Iterable<?> actual, Iterable<?> expected, Object subject);

void assertEquals(Object[] actual, Object[] expected, Object subject);

void assertEquals(Set<?> actual, Set<?> expected, Object subject);

void assertEquals(Map<?, ?> actual, Map<?, ?> expected, Object subject);

void assertEqualsDeep(Set<?> actual, Set<?> expected, Object subject);

void assertEqualsDeep(Map<?, ?> actual, Map<?, ?> expected, Object subject);

void assertEqualsNoOrder(Object[] actual, Object[] expected, Object subject);

default void assertEquals(long actual, long expected) {
assertEquals(actual, expected, null);
}

default void assertEquals(int actual, int expected) {
assertEquals(actual, expected, null);
}

default void assertEquals(double actual, double expected) {
assertEquals(actual, expected, null);
}

default void assertEquals(Object actual, Object expected) {
assertEquals(actual, expected, null);
}


void assertNotEquals(Object actual1, Object actual2, Object subject);

void assertNotEquals(Set<?> actual, Set<?> expected, Object subject);

void assertNotEquals(Map<?, ?> actual, Map<?, ?> expected, Object subject);

default void assertNotEquals(Object actual1, Object actual2) {
assertNotEquals(actual1, actual2, null);
}

void assertStartsWith(Object actual, Object expected, Object subject);

default void assertStartsWith(Object actual, Object expected) {
assertStartsWith(actual, expected, null);
}

void assertEndsWith(Object actual, Object expected, Object subject);

default void assertEndsWith(Object actual, Object expected) {
assertEndsWith(actual, expected, null);
}

void assertInstanceOf(Object actual, Class expected, Object subject);

default void assertInstanceOf(Object actual, Class expected) {
assertInstanceOf(actual, expected, null);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,34 @@ public void test_IsNotNull_fails() {
ASSERT.assertNotNull(null);
}

@Test
public void test_assertEquals_int_long() {
int a = 1;
long b = 1L;
ASSERT.assertEquals(a, b);
}

@Test
public void test_assertEquals_int_long_subject() {
int a = 1;
long b = 1L;
ASSERT.assertEquals(a, b, "Test");
}

@Test
public void test_assertEquals_float_double() {
float a = 1.0f;
double b = 1.0;
ASSERT.assertEquals(a, b);
}

@Test
public void test_assertEquals_float_double_subject() {
float a = 1.0f;
double b = 1.0;
ASSERT.assertEquals(a, b, "Test");
}

@Test
public void test_StringEquals() {
ASSERT.assertEquals("Hallo Welt", "Hallo Welt");
Expand Down