diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/concurrent/MessageChannel.java b/common/sourceTest/java/ch/systemsx/cisd/common/concurrent/MessageChannel.java index 1a40a9ad1e14327d9ad5df0cfa0f14ef2142fa0d..6bdf0999a2d2932d53626dfb69fe5734202abd6b 100644 --- a/common/sourceTest/java/ch/systemsx/cisd/common/concurrent/MessageChannel.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/concurrent/MessageChannel.java @@ -17,6 +17,7 @@ package ch.systemsx.cisd.common.concurrent; import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertTrue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; @@ -79,6 +80,22 @@ public class MessageChannel } } + /** + * Asserts specified expected message is part of next message to be received. Waits not longer + * than specified in the constructor. + */ + public void assertNextMessageContains(Object expectedMessagePart) + { + try + { + assertTrue(_queue.poll(_timeOutInMilliSeconds, TimeUnit.MILLISECONDS).toString() + .contains(expectedMessagePart.toString())); + } catch (InterruptedException e) + { + // ignored + } + } + /** * Asserts empty message queue. */ diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/logging/MockLogger.java b/common/sourceTest/java/ch/systemsx/cisd/common/logging/MockLogger.java index a57e88cf342ffa78558781e60e8f7f57ad259ba7..b63fd13307b907ef654dcca16fefe58aa39e0c3b 100644 --- a/common/sourceTest/java/ch/systemsx/cisd/common/logging/MockLogger.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/logging/MockLogger.java @@ -41,6 +41,11 @@ public final class MockLogger implements ISimpleLogger messageChannel.assertNextMessage(expectedMessage); } + public void assertNextLogMessageContains(String expectedMessagePart) + { + messageChannel.assertNextMessageContains(expectedMessagePart); + } + public void assertNoMoreLogMessages() { messageChannel.assertEmpty();