package club.wpia.gigi.testUtils;
+import static org.junit.Assert.*;
+
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
uc.getInputStream().close();
}
+ @Override
+ public String toString() {
+ return "TestMail: " + subject + " for " + to;
+ }
}
private Socket s;
* @see #poll()
*/
@Override
- public TestMail receive() {
+ public TestMail receive(String to) {
TestMail poll;
try {
if (poll == null) {
throw new AssertionError("Mail receiving timed out");
}
+ if (to != null) {
+ assertEquals(to, poll.getTo());
+ }
return poll;
}
* has been sent.
* @see #receive()
*/
- public TestMail poll() {
- return mails.poll();
+ public TestMail poll(String to) {
+ TestMail tm = mails.poll();
+ if (tm != null && to != null) {
+ assertEquals(to, tm.getTo());
+ }
+ return tm;
}
@Override
* Removes all queued mails.
*/
@Override
- public void clearMails() {
+ public void assertEmpty() {
+ int originalSize = mails.size();
mails.clear();
+ assertEquals("test case should consume all produced emails", 0, originalSize);
}
/**
* Resets this class to its initial state
*
- * @see #clearMails()
+ * @see #assertEmpty()
* @see #setApproveRegex(Pattern)
* @see #setEmailCheckError(String)
*/
public void reset() {
- clearMails();
+ assertEmpty();
error = "FAIL";
approveRegex = Pattern.compile(".*");
}