📄 threadedemailtest.java
字号:
//# MessageHeader m4 = new MessageHeader(null);
//# m4.setSubject( "4" );
//# m4.setThreadingMessageID( "4" );
//# m4.setParentID( "3" );
//# parents = new Vector();
//# parents.addElement( "root" );
//# parents.addElement( "m1" );
//# parents.addElement( "m3" );
//# m4.setParentIDs( parents );
//# te.addMessage( m3, m4 );
//#
//# MessageHeader m5 = new MessageHeader(null);
//# m5.setSubject( "5" );
//# m5.setThreadingMessageID( "5" );
//# m5.setParentID( "3" );
//# parents = new Vector();
//# parents.addElement( "root" );
//# parents.addElement( "m1" );
//# parents.addElement( "m3" );
//# m5.setParentIDs( parents );
//# te.addMessage( m3, m5 );
//#
//# MessageHeader m6 = new MessageHeader(null);
//# m6.setSubject( "6" );
//# m6.setThreadingMessageID( "6" );
//# m6.setParentID( "root" );
//# parents = new Vector();
//# parents.addElement( "root" );
//# m6.setParentIDs( parents );
//# te.addMessage( root, m6 );
//#
//# // sorting is not needed, but for sure
//# te.sort( ComparatorStrategy.getStrategy().getComparator( Ordering.NATURAL, Criterion.THREADING_MESSAGE_ID ) );
//#
//# try {
//# final Enumerator fe = te.new Enumerator();
//# int i = 0;
//# MessageHeader messageHeader;
//# String subject;
//# while ( fe.hasNextElement() ) {
//# messageHeader = (MessageHeader)fe.nextElement();
//# subject = messageHeader.getSubject();
//# switch (i) {
//# case 0: assertEquals("root", subject); break;
//# case 1: assertEquals("1", subject); break;
//# case 2: assertEquals("2", subject); break;
//# case 3: assertEquals("3", subject); break;
//# case 4: assertEquals("4", subject); break;
//# case 5: assertEquals("5", subject); break;
//# case 6: assertEquals("6", subject); break;
//# case 7: assertEquals("root2", subject); break;
//# case 8: assertEquals("root3", subject); break;
//# default: fail( "unexpected message (i=" + i + ", subject='" + subject + "')" );
//# }
//# ++i;
//# }
//#
//# --i;
//# while ( fe.hasPreviousElement() ) {
//# messageHeader = (MessageHeader)fe.previousElement();
//# subject = messageHeader.getSubject();
//# --i;
//# switch (i) {
//# case 7: assertEquals("root2", subject); break;
//# case 6: assertEquals("6", subject); break;
//# case 5: assertEquals("5", subject); break;
//# case 4: assertEquals("4", subject); break;
//# case 3: assertEquals("3", subject); break;
//# case 2: assertEquals("2", subject); break;
//# case 1: assertEquals("1", subject); break;
//# case 0: assertEquals("root", subject); break;
//# default: fail( "unexpected message (i=" + i + ", subject='" + subject + "')" );
//# }
//# }
//# } catch (Throwable t) {
//# t.printStackTrace();
//# }
//#else
System.err.println( "This test requires that sources are built with preprocessing option\n" +
"MUJMAIL_TEST_BACKWARD_ITERATING enabled." );
fail();
//#endif
}
//#ifdef MUJMAIL_TEST_GET_MESSAGE_AT
//# private void check(int simpleNext, int simplePrevious, int nextFromZero ) {
//# assertTrue( "simpleNext=" + simpleNext + ", simplePrevious=" + simplePrevious + ", nextFromZero=" + nextFromZero,
//# ThreadedEmails.simpleNext == simpleNext
//# && ThreadedEmails.simplePrevious == simplePrevious
//# && ThreadedEmails.nextFromZero == nextFromZero
//# );
//# }
//#endif
public void testGetMessageAtFunction() {
//#ifdef MUJMAIL_TEST_GET_MESSAGE_AT
//# Settings.threading = true;
//#
//# ThreadedEmails te = new ThreadedEmails();
//#
//# MessageHeader root = new MessageHeader(null);
//# root.setSubject( "root" );
//# root.setThreadingMessageID( "root" );
//# te.addRoot( root );
//#
//# MessageHeader root2 = new MessageHeader(null);
//# root2.setSubject( "root2" );
//# root2.setThreadingMessageID( "root2" );
//# te.addRoot( root2 );
//#
//# MessageHeader root3 = new MessageHeader(null);
//# root3.setSubject( "root3" );
//# root3.setThreadingMessageID( "root3" );
//# te.addRoot( root3 );
//#
//# MessageHeader m1 = new MessageHeader(null);
//# m1.setSubject( "1" );
//# m1.setThreadingMessageID( "1" );
//# m1.setParentID( "root" );
//# Vector parents = new Vector();
//# parents.addElement( "root" );
//# m1.setParentIDs( parents );
//# te.addMessage( root, m1 );
//#
//# MessageHeader m2 = new MessageHeader(null);
//# m2.setSubject( "2" );
//# m2.setThreadingMessageID( "2" );
//# m2.setParentID( "1" );
//# parents = new Vector();
//# parents.addElement( "root" );
//# parents.addElement( "m1" );
//# m2.setParentIDs( parents );
//# te.addMessage( m1, m2 );
//#
//# MessageHeader m3 = new MessageHeader(null);
//# m3.setSubject( "3" );
//# m3.setThreadingMessageID( "3" );
//# m3.setParentID( "1" );
//# parents = new Vector();
//# parents.addElement( "root" );
//# parents.addElement( "m1" );
//# m3.setParentIDs( parents );
//# te.addMessage( m1, m3 );
//#
//# MessageHeader m4 = new MessageHeader(null);
//# m4.setSubject( "4" );
//# m4.setThreadingMessageID( "4" );
//# m4.setParentID( "3" );
//# parents = new Vector();
//# parents.addElement( "root" );
//# parents.addElement( "m1" );
//# parents.addElement( "m3" );
//# m4.setParentIDs( parents );
//# te.addMessage( m3, m4 );
//#
//# MessageHeader m5 = new MessageHeader(null);
//# m5.setSubject( "5" );
//# m5.setThreadingMessageID( "5" );
//# m5.setParentID( "3" );
//# parents = new Vector();
//# parents.addElement( "root" );
//# parents.addElement( "m1" );
//# parents.addElement( "m3" );
//# m5.setParentIDs( parents );
//# te.addMessage( m3, m5 );
//#
//# MessageHeader m6 = new MessageHeader(null);
//# m6.setSubject( "6" );
//# m6.setThreadingMessageID( "6" );
//# m6.setParentID( "root" );
//# parents = new Vector();
//# parents.addElement( "root" );
//# m6.setParentIDs( parents );
//# te.addMessage( root, m6 );
//#
//# // sorting is not needed, but for sure
//# te.sort( ComparatorStrategy.getStrategy().getComparator( Ordering.NATURAL, Criterion.THREADING_MESSAGE_ID ) );
//#
//# MessageHeader messageHeader;
//# messageHeader = te.getMessageAt( 0 );
//# assertEquals( root, messageHeader);
//# check(1, 0, 0);
//#
//# messageHeader = te.getMessageAt( 1 );
//# assertEquals( m1, messageHeader);
//# check(2, 0, 0);
//#
//# messageHeader = te.getMessageAt( 2 );
//# assertEquals( m2, messageHeader);
//# check(3, 0, 0);
//#
//# messageHeader = te.getMessageAt( 3 );
//# assertEquals( m3, messageHeader);
//# check(4, 0, 0);
//#
//# messageHeader = te.getMessageAt( 4 );
//# assertEquals( m4, messageHeader);
//# check(5, 0, 0);
//#
//# messageHeader = te.getMessageAt( 5 );
//# assertEquals( m5, messageHeader);
//# check(6, 0, 0);
//#
//# messageHeader = te.getMessageAt( 6 );
//# assertEquals( m6, messageHeader);
//# check(7, 0, 0);
//#
//# messageHeader = te.getMessageAt( 7 );
//# assertEquals( root2, messageHeader);
//# check(8, 0, 0);
//#
//# messageHeader = te.getMessageAt( 8 );
//# assertEquals( root3, messageHeader);
//# check(9, 0, 0);
//#
//# messageHeader = te.getMessageAt( 7 );
//# assertEquals( root2, messageHeader);
//# check(9, 1, 0);
//#
//# messageHeader = te.getMessageAt( 6 );
//# assertEquals( m6, messageHeader);
//# check(9, 2, 0);
//#
//# messageHeader = te.getMessageAt( 5 );
//# assertEquals( m5, messageHeader);
//# check(9, 3, 0);
//#
//# messageHeader = te.getMessageAt( 4 );
//# assertEquals( m4, messageHeader);
//# check(9, 4, 0);
//#
//# messageHeader = te.getMessageAt( 3 );
//# assertEquals( m3, messageHeader);
//# check(9, 5, 0);
//#
//# messageHeader = te.getMessageAt( 2 );
//# assertEquals( m2, messageHeader);
//# check(9, 6, 0);
//#
//# messageHeader = te.getMessageAt( 1 );
//# assertEquals( m1, messageHeader);
//# check(9, 7, 0);
//#
//# messageHeader = te.getMessageAt( 0 );
//# assertEquals( root, messageHeader);
//# check(9, 7, 1);
//#
//# messageHeader = te.getMessageAt( 2 );
//# assertEquals( m2, messageHeader);
//# check(10, 7, 1);
//#
//# messageHeader = te.getMessageAt( 4 );
//# assertEquals( m4, messageHeader);
//# check(11, 7, 1);
//#
//# messageHeader = te.getMessageAt( 6 );
//# assertEquals( m6, messageHeader);
//# check(12, 7, 1);
//#
//# messageHeader = te.getMessageAt( 3 );
//# assertEquals( m3, messageHeader);
//# check(12, 8, 1);
//#
//# messageHeader = te.getMessageAt( 0 );
//# assertEquals( root, messageHeader);
//# check(12, 8, 2);
//#else
System.err.println( "This test requires that sources are built with preprocessing option\n" +
"MUJMAIL_TEST_GET_MESSAGE_AT enabled." );
fail();
//#endif
}
public Test suite() {
TestSuite suite = new TestSuite();
String finishedTestName = "none";
try {
suite.addTest( new ThreadedEmailTest("testEnumeration", new TestMethod() {
public void run(TestCase testCase) throws Throwable {
((ThreadedEmailTest)testCase).testEnumeration();
}
}) );
finishedTestName = "testEnumeration";
suite.addTest( new ThreadedEmailTest("testEnumerationFail", new TestMethod() {
public void run(TestCase testCase) throws Throwable {
((ThreadedEmailTest)testCase).testEnumerationFail();
}
}) );
finishedTestName = "testEnumerationFail";
suite.addTest( new ThreadedEmailTest("testRemove", new TestMethod() {
public void run(TestCase testCase) throws Throwable {
((ThreadedEmailTest)testCase).testRemove();
}
}) );
finishedTestName = "testRemove";
suite.addTest( new ThreadedEmailTest("testBackwardIterating", new TestMethod() {
public void run(TestCase testCase) throws Throwable {
((ThreadedEmailTest)testCase).testBackwardIterating();
}
}) );
finishedTestName = "testBackwardIterating";
suite.addTest( new ThreadedEmailTest("testGetMessageAtFunction", new TestMethod() {
public void run(TestCase testCase) throws Throwable {
((ThreadedEmailTest)testCase).testGetMessageAtFunction();
}
}) );
finishedTestName = "testGetMessageAtFunction";
} catch (Throwable t) {
System.err.println("Last finished test '" + finishedTestName + "'");
t.printStackTrace();
}
return suite;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -