public MethodMatcher(String name, String params, String returns) { super(name, SignatureUtil.createMethodSignature(params, returns)); }
public MethodMatcher(String name, String params, String returns, String role) { super(name, SignatureUtil.createMethodSignature(params, returns), role); }
/** * First parameter is comma-separated value. It is possible to contain space, tab, line-break or line-feed around * comma. Even though first parameter contains multiple values, generated signature does not separate them by comma. */ @Test public void testCreateMethodSignature() { assertThat(SignatureUtil.createMethodSignature("", "void"), is("()V")); assertThat(SignatureUtil.createMethodSignature("byte,\r\nchar, \tboolean", "void"), is("(BCZ)V")); assertThat(SignatureUtil.createMethodSignature("float", "java.lang.String[]"), is("(F)[Ljava/lang/String;")); }
/** * If both parameter is null, {@link SignatureUtil#createMethodSignature(String, String)} returns null. However, its * return value should start with {@code ~}, which means regexp. * * @see NameMatch This class uses {@code ~} to judge signature is regexp or not. */ @Test public void testCreateMethodSignatureWithNull() { assertThat(SignatureUtil.createMethodSignature(null, null), is(nullValue())); assertThat(SignatureUtil.createMethodSignature(null, "long"), is("~\\(.*\\)J")); assertThat(SignatureUtil.createMethodSignature("", null), is("~\\(\\).*")); } }
@Test public void testExactMatch() { NameMatch match = new NameMatch(SignatureUtil.createMethodSignature("", "void")); assertTrue(match.match("()V")); assertFalse(match.match("(I)V")); assertFalse(match.match("()J")); }
@Test public void testReturnValuePatternMatch() { NameMatch anyParamReturnVoid = new NameMatch(SignatureUtil.createMethodSignature("", null)); assertTrue(anyParamReturnVoid.match("()V")); assertTrue(anyParamReturnVoid.match("()I")); assertTrue(anyParamReturnVoid.match("()Ljava/lang/String;")); assertFalse(anyParamReturnVoid.match("(B)J")); } }
@Test public void testParameterPatternMatch() { NameMatch anyParamReturnVoid = new NameMatch(SignatureUtil.createMethodSignature(null, "void")); assertTrue(anyParamReturnVoid.match("()V")); assertTrue(anyParamReturnVoid.match("(I)V")); assertTrue(anyParamReturnVoid.match("(Ljava/lang/String;)V")); assertFalse(anyParamReturnVoid.match("()J")); }
public MethodMatcher(String name, String params, String returns) { super(name, SignatureUtil.createMethodSignature(params, returns)); }
public MethodMatcher(String name, String params, String returns, String role) { super(name, SignatureUtil.createMethodSignature(params, returns), role); }