Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010 JBoss Inc
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.kie.workbench.common.services.datamodel.backend.server.builder.projects;
 
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 import  org.drools.workbench.models.datamodel.oracle.DataType;
 import  org.drools.workbench.models.datamodel.oracle.MethodInfo;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 public class ClassMethodInspectorTest {
 
     @Test
     public void testSimpleMethods() throws Exception {
         final ClassMethodInspector ext = new ClassMethodInspectorSimpleMethods.class,
                                                                    new JavaTypeSystemTranslator() );
 
         for ( String s : ext.getMethodNames() ) {
             assertFalse"Method " + s + " is not allowed.",
                          checkBlackLists ) );
         }
         assertEquals( 3,
                       ext.getMethodInfos().size() );
         assertNotNullgetMethodInfo"addOrSimilar",
                                       ext.getMethodInfos() ) );
         assertNotNullgetMethodInfo"cleanOrSimilar",
                                       ext.getMethodInfos() ) );
         assertNotNullgetMethodInfo"methodThatReturnsIfItWasSuccesful",
                                       ext.getMethodInfos() ) );
 
         assertEquals( DataType.TYPE_NUMERIC_INTEGER,
                       getMethodInfo"addOrSimilar",
                                      ext.getMethodInfos() ).getParams().get( 0 ) );
     }
 
     private MethodInfo getMethodInfofinal String methodName,
                                       final List<MethodInfo> methodInfos ) {
         for ( MethodInfo methodInfo : methodInfos ) {
             if ( methodInfo.getName().equals( methodName ) ) {
                 return methodInfo;
             }
         }
         return null;
     }
 
     @Test
     public void testMoreThanOneMethodWithTheSameName() throws Exception {
         final ClassMethodInspector ext = new ClassMethodInspectorMoreThanOneMethodWithTheSameName.class,
                                                                    new JavaTypeSystemTranslator() );
 
         for ( String s : ext.getMethodNames() ) {
             assertFalse"Method " + s + " is not allowed.",
                          checkBlackLists ) );
         }
 
     }
 
     @Test
     public void testCollection() throws Exception {
         final ClassMethodInspector ext = new ClassMethodInspectorCollection.class,
                                                                    new JavaTypeSystemTranslator() );
 
         for ( String s : ext.getMethodNames() ) {
             assertFalse"Method " + s + " is not allowed.",
                          checkBlackLists ) );
         }
     }
 
     @Test
     public void testArrayList() throws Exception {
         final ClassMethodInspector ext = new ClassMethodInspectorArrayList.class,
                                                                    new JavaTypeSystemTranslator() );
 
         for ( String s : ext.getMethodNames() ) {
             assertFalse"Method " + s + " is not allowed.",
                          checkBlackLists ) );
         }
     }
 
    @Test
    public void testList() throws Exception {
        final ClassMethodInspector ext = new ClassMethodInspectorList.class,
                                                                   new JavaTypeSystemTranslator() );
        for ( String s : ext.getMethodNames() ) {
            assertFalse"Method " + s + " is not allowed.",
                         checkBlackLists ) );
        }
    }
    @Test
    public void testSet() throws Exception {
        final ClassMethodInspector ext = new ClassMethodInspectorSet.class,
                                                                   new JavaTypeSystemTranslator() );
        for ( String s : ext.getMethodNames() ) {
            assertFalse"Method " + s + " is not allowed.",
                         checkBlackLists ) );
        }
    }
    @Test
    public void testMap() throws Exception {
        final ClassMethodInspector ext = new ClassMethodInspectorMap.class,
                                                                   new JavaTypeSystemTranslator() );
        for ( String s : ext.getMethodNames() ) {
            assertFalse"Method " + s + " is not allowed.",
                         checkBlackLists ) );
        }
    }
    @Test
    public void testMyMap() throws Exception {
        final ClassMethodInspector ext = new ClassMethodInspectorMyMap.class,
                                                                   new JavaTypeSystemTranslator() );
        for ( String s : ext.getMethodNames() ) {
            assertFalse"Method " + s + " is not allowed.",
                         checkBlackLists ) );
        }
    }
    @Test
    public void testMultiParameterSetter() throws Exception {
        final ClassMethodInspector ext = new ClassMethodInspectorMultiParameterSetter.class,
                                                                   new JavaTypeSystemTranslator() );
        for ( String s : ext.getMethodNames() ) {
            assertFalse"Method " + s + " is not allowed.",
                         checkBlackLists ) );
        }
        assertEquals( 1,
                      ext.getMethodNames().size() );
    }
    @Test
    public void testGetterWithParameters() throws Exception {
        final ClassMethodInspector ext = new ClassMethodInspectorMyMap.class,
                                                                   new JavaTypeSystemTranslator() );
        for ( String s : ext.getMethodNames() ) {
            assertFalse"Method " + s + " is not allowed.",
                         checkBlackLists ) );
        }
    }
    @Test
    public void testBooleanGetterWithParameters() throws Exception {
        final ClassMethodInspector ext = new ClassMethodInspectorMyMap.class,
                                                                   new JavaTypeSystemTranslator() );
        for ( String s : ext.getMethodNames() ) {
            assertFalse"Method " + s + " is not allowed.",
                         checkBlackLists ) );
        }
    }
    private boolean checkBlackListString methodName ) {
        return ( "hashCode".equalsmethodName )
                || "equals".equalsmethodName )
                || "addAll".equalsmethodName )
                || "containsAll".equalsmethodName )
                || "iterator".equalsmethodName )
                || "removeAll".equalsmethodName )
                || "retainAll".equalsmethodName )
                || "toArray".equalsmethodName )
                || "listIterator".equalsmethodName )
                || "subList".equalsmethodName )
                || "entrySet".equalsmethodName )
                || "keySet".equalsmethodName )
                || "putAll".equalsmethodName ) );
    }
    public static class SimpleMethods {
        public void cleanOrSimilar() {
        }
        public void addOrSimilarint i ) {
        }
        public boolean methodThatReturnsIfItWasSuccesful() {
            return true;
        }
    }
    public static class MoreThanOneMethodWithTheSameName {
        public void justAMethod() {
        }
        public void justAMethodint x ) {
        }
        public void justAMethodObject x ) {
        }
        public void justAMethodint x,
                                 Object y ) {
        }
        public Object justAMethodint x,
                                   int y ) {
            return null;
        }
    }
    public static class MyMap
            implements
            Map {
        public void magicMethod() {
        }
        public void clear() {
        }
        public boolean containsKeyObject arg0 ) {
            return false;
        }
        public boolean containsValueObject arg0 ) {
            return false;
        }
        public Set entrySet() {
            return null;
        }
        public Object getObject arg0 ) {
            return null;
        }
        public boolean isEmpty() {
            return false;
        }
        public Set keySet() {
            return null;
        }
        public Object putObject arg0,
                           Object arg1 ) {
            return null;
        }
        public void putAllMap arg0 ) {
        }
        public Object removeObject arg0 ) {
            return null;
        }
        public int size() {
            return 0;
        }
        public Collection values() {
            return null;
        }
    }
    public static class MultiParameterSetter {
        public void setSomethingString a,
                                  String b ) {
        }
    }
    public static class GetterWithParameters {
        public void getSomethingString a ) {
        }
    }
    public static class BooleanGetterWithParameters {
        public void isSomethingString a ) {
        }
    }
New to GrepCode? Check out our FAQ X