1 8 package test; 9 10 import junit.framework.TestCase; 11 12 15 public class CallerSideAdviceTest extends TestCase { 16 private static String s_logString = ""; 17 18 public CallerSideAdviceTest(String name) { 19 super(name); 20 } 21 22 public void testAroundAdvicedMemberMethod() { 23 s_logString = ""; 24 try { 25 CallerSideTestHelper helper = new CallerSideTestHelper(); 26 helper.invokeMemberMethodAround("a", "b"); 27 helper.invokeMemberMethodAround("a", "b", "c"); 28 assertEquals("before after before after ", s_logString); 29 } catch (Exception e) { 30 e.printStackTrace(); 31 fail(); 32 } 33 34 s_logString = ""; 36 try { 37 CallerSideTestHelper helper = new CallerSideTestHelper(); 38 helper.invokeMemberMethodAround("a", "b", "c"); 39 assertEquals("before after ", s_logString); 40 } catch (Exception e) { 41 e.printStackTrace(); 42 fail(); 43 } 44 } 45 46 public void testAroundAdvicedStaticMethod() { 47 s_logString = ""; 48 try { 49 CallerSideTestHelper helper = new CallerSideTestHelper(); 50 helper.invokeStaticMethodAround(); 51 assertEquals("before after ", s_logString); 52 } catch (Exception e) { 53 fail(); 54 } 55 } 56 57 public void testAroundAdvicedStaticMethodPrimitiveType() { 58 s_logString = ""; 59 try { 60 CallerSideTestHelper helper = new CallerSideTestHelper(); 61 int res = helper.invokeStaticMethodAroundPrimitiveType(); 62 assertEquals("before after ", s_logString); 63 assertEquals(res, 3); 64 } catch (Exception e) { 65 fail(); 66 } 67 } 68 69 public void testAroundAdvicedMemberMethodPrimitiveType() { 70 s_logString = ""; 71 try { 72 CallerSideTestHelper helper = new CallerSideTestHelper(); 73 int res = helper.invokeMemberMethodAroundPrimitiveType(); 74 assertEquals("before after ", s_logString); 75 assertEquals(res, 2); 76 } catch (Exception e) { 77 fail(); 78 } 79 } 80 81 public void testAroundAdvicedMemberMethodVoidType() { 82 s_logString = ""; 83 try { 84 CallerSideTestHelper helper = new CallerSideTestHelper(); 85 helper.invokeMemberMethodAroundVoidType(); 86 assertEquals("before after ", s_logString); 87 } catch (Exception e) { 88 fail(); 89 } 90 } 91 92 public void testPreAdvicedMemberMethod() { 93 s_logString = ""; 94 try { 95 CallerSideTestHelper helper = new CallerSideTestHelper(); 96 helper.invokeMemberMethodPre(); 97 assertEquals("pre1 pre2 ", s_logString); 98 } catch (Exception e) { 99 fail(); 100 } 101 } 102 103 public void testPostAdvicedMemberMethod() { 104 s_logString = ""; 105 try { 106 CallerSideTestHelper helper = new CallerSideTestHelper(); 107 helper.invokeMemberMethodPost(); 108 assertEquals("post2 post1 ", s_logString); 109 } catch (Exception e) { 110 fail(); 111 } 112 } 113 114 public void testPrePostAdvicedMemberMethod() { 115 s_logString = ""; 116 try { 117 CallerSideTestHelper helper = new CallerSideTestHelper(); 118 helper.invokeMemberMethodPrePost(); 119 assertEquals("pre1 pre2 post2 post1 ", s_logString); 120 } catch (Exception e) { 121 fail(); 122 } 123 } 124 125 public void testPreAdvicedStaticMethod() { 126 s_logString = ""; 127 try { 128 CallerSideTestHelper.invokeStaticMethodPre(); 129 assertEquals("pre1 pre2 ", s_logString); 130 } catch (Exception e) { 131 fail(); 132 } 133 } 134 135 public void testPostAdvicedStaticMethod() { 136 s_logString = ""; 137 try { 138 CallerSideTestHelper.invokeStaticMethodPost(); 139 assertEquals("post2 post1 ", s_logString); 140 } catch (Exception e) { 141 fail(); 142 } 143 } 144 145 public void testPrePostAdvicedStaticMethod() { 146 s_logString = ""; 147 try { 148 CallerSideTestHelper.invokeStaticMethodPrePost(); 149 assertEquals("pre1 pre2 post2 post1 ", s_logString); 150 } catch (Exception e) { 151 fail(); 152 } 153 } 154 155 public static void main(String [] args) { 156 junit.textui.TestRunner.run(suite()); 157 } 158 159 public static junit.framework.Test suite() { 160 return new junit.framework.TestSuite(CallerSideAdviceTest.class); 161 } 162 163 public static void log(final String wasHere) { 165 s_logString += wasHere; 166 } 167 168 public void setFieldPreAdviced() { 169 } 170 } | Popular Tags |