@Test
 public void testDefaultStringPrimitiveArrayParam() throws Exception {
   def.run("foo", new int[] {1, 2, 3});
   assertEquals(
       "INFO call run(stringParam=foo, objectParam=Collection[size=3, 1, 2, 3]) returns Collection[size=3, 1, 2, 3]",
       LogbackTestAppender.getMessage().trim());
 }
 @Test
 public void testDefaultStringIntParam() throws Exception {
   def.run("foo", 42);
   assertEquals(
       "INFO call run(stringParam=foo, objectParam=42) returns 42",
       LogbackTestAppender.getMessage().trim());
 }
 @Test
 public void testDefaultNullNullParamNullResult() throws Exception {
   def.run(null, null);
   assertEquals(
       "INFO call run(stringParam=null, objectParam=null) returns null",
       LogbackTestAppender.getMessage().trim());
 }
 @Test
 public void testDefaultNoParamsNullResult() throws Exception {
   def.run();
   assertEquals("INFO call run() returns null", LogbackTestAppender.getMessage().trim());
 }