*/
package org.opendaylight.mdsal.trace.impl;
-import static com.google.common.truth.Truth.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.hasSize;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import java.util.Collection;
+import java.util.List;
import java.util.Set;
import java.util.function.Predicate;
import org.junit.Test;
SomethingClosable forgotToCloseOnce = new SomethingClosable(registry);
Set<CloseTrackedRegistryReportEntry<SomethingClosable>> uniqueNonClosed = registry.getAllUnique();
- assertThat(uniqueNonClosed).hasSize(2);
- assertThatIterableContains(uniqueNonClosed, entry ->
+ assertThat(uniqueNonClosed, hasSize(2));
+ assertContains(uniqueNonClosed, entry ->
entry.getNumberAddedNotRemoved() == 100 || entry.getNumberAddedNotRemoved() == 1);
uniqueNonClosed.forEach(entry -> {
if (entry.getNumberAddedNotRemoved() == 100) {
- assertThatIterableContains(entry.getStackTraceElements(),
+ assertContains(entry.getStackTraceElements(),
element -> element.getMethodName().equals("someOtherMethodWhichDoesNotClose"));
} else if (entry.getNumberAddedNotRemoved() == 1) {
- assertThatIterableContains(entry.getStackTraceElements(),
+ assertContains(entry.getStackTraceElements(),
element -> element.getMethodName().equals("testDuplicateAllocationContexts"));
} else {
fail("Unexpected number of added, not removed: " + entry.getNumberAddedNotRemoved());
});
}
- // Something like this really should be in Google Truth...
- private static <T> void assertThatIterableContains(final Iterable<T> iterable, final Predicate<T> predicate) {
- for (T element : iterable) {
- if (predicate.test(element)) {
- return;
- }
- }
- fail("Iterable did not contain any element matching predicate");
+ // FIXME: use a Matcher
+ private static <T> void assertContains(final Collection<T> collection, final Predicate<T> predicate) {
+ assertTrue("Iterable did not contain any element matching predicate", collection.stream().anyMatch(predicate));
}
@SuppressWarnings({ "resource", "unused" })
Set<CloseTrackedRegistryReportEntry<SomethingClosable>>
closeRegistryReport = debugContextDisabledRegistry.getAllUnique();
- assertThat(closeRegistryReport).hasSize(1);
+ assertThat(closeRegistryReport, hasSize(1));
CloseTrackedRegistryReportEntry<SomethingClosable>
closeRegistryReportEntry1 = closeRegistryReport.iterator().next();
- assertThat(closeRegistryReportEntry1.getNumberAddedNotRemoved()).isEqualTo(1);
- assertThat(closeRegistryReportEntry1.getStackTraceElements()).isEmpty();
+ assertEquals(1, closeRegistryReportEntry1.getNumberAddedNotRemoved());
+ assertEquals(List.of(), closeRegistryReportEntry1.getStackTraceElements());
}
}
*/
package org.opendaylight.mdsal.trace.test;
-import static com.google.common.truth.Truth.assertThat;
import static java.nio.charset.StandardCharsets.UTF_8;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
* @author Michael Vorburger.ch
*/
public class TracingBrokerTest {
-
@Test
@SuppressWarnings({ "resource", "unused" }) // Finding resource leaks is the point of this test
public void testPrintOpenTransactions() {
boolean printReturnValue = tracingBroker.printOpenTransactions(ps, 1);
String output = new String(baos.toByteArray(), UTF_8);
- assertThat(printReturnValue).isTrue();
+ assertTrue(printReturnValue);
// Assert expectations about stack trace
- assertThat(output).contains("testPrintOpenTransactions(TracingBrokerTest.java");
- assertThat(output).doesNotContain(TracingBroker.class.getName());
+ assertThat(output, containsString("testPrintOpenTransactions(TracingBrokerTest.java"));
+ assertThat(output, not(containsString(TracingBroker.class.getName())));
String previousLine = "";
for (String line : output.split("\n")) {
if (line.contains("(...")) {
- assertThat(previousLine.contains("(...)")).isFalse();
+ assertThat(previousLine, not(containsString("(...)")));
}
previousLine = line;
}
// assert that the sorting works - the x3 is shown before the x1
- assertThat(output).contains(" DataBroker : newReadWriteTransaction()\n 3x");
+ assertThat(output, containsString(" DataBroker : newReadWriteTransaction()\n 3x"));
// We don't do any verify/times on the mocks,
// because the main point of the test is just to verify that
// printOpenTransactions runs through without any exceptions
// (e.g. it used to have a ClassCastException).
}
-
}