@@ -0,0 +1,2402 @@
+/**%0A * Copyright (c) 2013-2015 by The SeedStack authors. All rights reserved.%0A *%0A * This file is part of SeedStack, An enterprise-oriented full development stack.%0A *%0A * This Source Code Form is subject to the terms of the Mozilla Public%0A * License, v. 2.0. If a copy of the MPL was not distributed with this%0A * file, You can obtain one at http://mozilla.org/MPL/2.0/.%0A */%0Apackage org.seedstack.business.internal.utils;%0A%0Aimport org.assertj.core.api.Assertions;%0Aimport org.junit.Test;%0Aimport org.seedstack.seed.core.api.SeedException;%0A%0Aimport java.lang.reflect.Method;%0A%0A/**%0A * @author pierre.thirouin@ext.mpsa.com (Pierre Thirouin)%0A */%0Apublic class MethodMatcherTest %7B%0A%0A    static enum ProjectStatus %7B%0A        FIRST(0);%0A%0A        int status;%0A%0A        ProjectStatus(int status) %7B%0A            this.status = status;%0A        %7D%0A%0A        public int getCode() %7B%0A            return status;%0A        %7D%0A    %7D%0A%0A    static class TestedClass %7B%0A%0A        public Integer test(String str, ProjectStatus i)%7B%0A            return 1;%0A        %7D%0A%0A        public Integer test2(String str, ProjectStatus i, String str2)%7B%0A            return 0;%0A        %7D%0A%0A%0A        public void test3(String str, int i)%7B%0A        %7D%0A    %7D%0A%0A    static class TestedClass2 %7B%0A%0A        public Integer test(String str, ProjectStatus i)%7B%0A            return 1;%0A        %7D%0A%0A        public Integer test2(String str, ProjectStatus i)%7B%0A            return 1;%0A        %7D%0A    %7D%0A%0A    @Test%0A    public void test_method_matcher() %7B%0A        Method testMethod = MethodMatcher.findMatchingMethod(TestedClass.class, Integer.class, %22aa%22, ProjectStatus.FIRST);%0A        Assertions.assertThat(testMethod).isNotNull();%0A        Assertions.assertThat(testMethod.getName()).isEqualTo(%22test%22);%0A%0A        Method testMethod2 = MethodMatcher.findMatchingMethod(TestedClass.class, Integer.class, %22aa%22, ProjectStatus.FIRST, null);%0A        Assertions.assertThat(testMethod2).isNotNull();%0A        Assertions.assertThat(testMethod2.getName()).isEqualTo(%22test2%22);%0A%0A        Method testMethod3 = MethodMatcher.findMatchingMethod(TestedClass.class, null, %22aa%22, 1);%0A        Assertions.assertThat(testMethod3).isNotNull();%0A        Assertions.assertThat(testMethod3.getName()).isEqualTo(%22test3%22);%0A    %7D%0A%0A    @Test(expected = SeedException.class)%0A    public void test_method_matcher_fail() %7B%0A        MethodMatcher.findMatchingMethod(TestedClass2.class, Integer.class, %22aa%22, ProjectStatus.FIRST);%0A    %7D%0A%7D%0A

Add unit test on MethodMatcher