From d02b4c5b468e9ec9261ad82ea52e0ead15d5c1ce Mon Sep 17 00:00:00 2001 From: wenshao Date: Fri, 17 Aug 2012 16:46:48 +0800 Subject: [PATCH] bug fixed for springStat --- .../support/spring/stat/SpringMethodInfo.java | 2 +- .../bvt/spring/SpringMethodInfoTest.java | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 src/test/java/com/alibaba/druid/bvt/spring/SpringMethodInfoTest.java diff --git a/src/main/java/com/alibaba/druid/support/spring/stat/SpringMethodInfo.java b/src/main/java/com/alibaba/druid/support/spring/stat/SpringMethodInfo.java index 48fff7382b..5d6f8cb07a 100644 --- a/src/main/java/com/alibaba/druid/support/spring/stat/SpringMethodInfo.java +++ b/src/main/java/com/alibaba/druid/support/spring/stat/SpringMethodInfo.java @@ -56,7 +56,7 @@ public class SpringMethodInfo { } for (int i = 0; i < method.getParameterTypes().length; ++i) { - if (method.getParameterTypes()[i].getName().equals(other.method.getParameterTypes()[i].getName())) { + if (!method.getParameterTypes()[i].getName().equals(other.method.getParameterTypes()[i].getName())) { return false; } } diff --git a/src/test/java/com/alibaba/druid/bvt/spring/SpringMethodInfoTest.java b/src/test/java/com/alibaba/druid/bvt/spring/SpringMethodInfoTest.java new file mode 100644 index 0000000000..11a03b00f4 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/spring/SpringMethodInfoTest.java @@ -0,0 +1,50 @@ +package com.alibaba.druid.bvt.spring; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import com.alibaba.druid.support.spring.stat.SpringMethodInfo; +import com.alibaba.druid.support.spring.stat.SpringMethodStat; +import com.alibaba.druid.support.spring.stat.SpringStat; + +public class SpringMethodInfoTest extends TestCase { + + public void test_equals() throws Exception { + SpringMethodInfo b1 = new SpringMethodInfo(B.class, B.class.getMethod("f", int.class)); + SpringMethodInfo c = new SpringMethodInfo(C.class, C.class.getMethod("f", int.class)); + SpringMethodInfo b2 = new SpringMethodInfo(B.class, B.class.getMethod("f", int.class)); + + Assert.assertFalse(b1.equals(c)); + Assert.assertTrue(b1.equals(b1)); + Assert.assertTrue(b1.equals(b2)); + + Assert.assertEquals(B.class.getName(), b1.getClassName()); + Assert.assertEquals(C.class.getName(), c.getClassName()); + } + + public void test_get() throws Exception { + SpringStat springStat = new SpringStat(); + + SpringMethodInfo b1 = new SpringMethodInfo(B.class, B.class.getMethod("f", int.class)); + SpringMethodInfo b2 = new SpringMethodInfo(B.class, B.class.getMethod("f", int.class)); + + SpringMethodStat methodStat1 = springStat.getMethodStat(b1, true); + SpringMethodStat methodStat2 = springStat.getMethodStat(b2, true); + Assert.assertSame(methodStat1, methodStat2); + } + + public static class A { + + public void f(int i) { + + } + } + + public static class B extends A { + + } + + public static class C extends A { + + } +}