@Test public void testAddOne() throws Exception { CountingPhaseInterceptor interceptor = new CountingPhaseInterceptor("phase1", "id1"); control.replay(); System.out.println(interceptor.getId()); chain.add(interceptor); Iterator<Interceptor<? extends Message>> it = chain.iterator(); Interceptor<? extends Message> next = it.next(); assertSame(interceptor, next); assertTrue(!it.hasNext()); }
/** 测试在同一个阶段的先后顺序 */ @Test public void testAddTwoAtSamePhase() throws Exception { CountingPhaseInterceptor p1 = new CountingPhaseInterceptor("phase1", "p1"); Set<String> after = new HashSet<String>(); after.add("p1"); CountingPhaseInterceptor p2 = new CountingPhaseInterceptor("phase1", "p2", null, after); chain.add(p2); chain.add(p1); Iterator<Interceptor<? extends Message>> it = chain.iterator(); assertSame(p1, it.next()); assertSame(p2, it.next()); assertTrue(!it.hasNext()); }