Interface TestBuilder

  • All Known Implementing Classes:
    TestBuilderImpl

    public interface TestBuilder
    High level builder for composing test class implementation fragments. Date: 22/04/2017
    Author:
    Yaron Yamin
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static class  TestBuilder.ParamRole
      Parameter role
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String RESULT_VARIABLE_NAME  
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      ParameterizedTestComponents buildPrameterizedTestComponents​(Method method, java.util.Map<java.lang.String,​java.lang.String> replacementTypesForReturn, java.util.Map<java.lang.String,​java.lang.String> replacementTypes, java.util.Map<java.lang.String,​java.lang.String> defaultTypeValues)
      build constructs for composing a parameterized test call
      java.lang.String renderInitType​(Type type, java.lang.String defaultName, java.util.Map<java.lang.String,​java.lang.String> replacementTypes, java.util.Map<java.lang.String,​java.lang.String> defaultTypeValues)
      constructs a type initialization expression
      java.lang.String renderMethodParams​(Method method, java.util.Map<java.lang.String,​java.lang.String> replacementTypes, java.util.Map<java.lang.String,​java.lang.String> defaultTypeValues)
      construct a formatted string of values passed to method invocation
      java.lang.String renderReturnParam​(Method testedMethod, Type type, java.lang.String defaultName, java.util.Map<java.lang.String,​java.lang.String> replacementTypes, java.util.Map<java.lang.String,​java.lang.String> defaultTypeValues)
      builds a string representing the expression returning a resulted value to be verified or mocked
    • Field Detail

      • RESULT_VARIABLE_NAME

        static final java.lang.String RESULT_VARIABLE_NAME
        See Also:
        Constant Field Values
    • Method Detail

      • renderMethodParams

        java.lang.String renderMethodParams​(Method method,
                                            java.util.Map<java.lang.String,​java.lang.String> replacementTypes,
                                            java.util.Map<java.lang.String,​java.lang.String> defaultTypeValues)
                                     throws java.lang.Exception
        construct a formatted string of values passed to method invocation
        Parameters:
        method - method being called
        replacementTypes - type - value map where key is the fully qualified type name to be replaced with a template of initialized type, for arguments in method call. typically to replace interface type with concrete type initialization
        defaultTypeValues - default types - value map to be used for relevant type arguments in method call
        Returns:
        formatted string of method values
        Throws:
        java.lang.Exception
      • buildPrameterizedTestComponents

        ParameterizedTestComponents buildPrameterizedTestComponents​(Method method,
                                                                    java.util.Map<java.lang.String,​java.lang.String> replacementTypesForReturn,
                                                                    java.util.Map<java.lang.String,​java.lang.String> replacementTypes,
                                                                    java.util.Map<java.lang.String,​java.lang.String> defaultTypeValues)
                                                             throws java.lang.Exception
        build constructs for composing a parameterized test call
        Parameters:
        method - mehtod being tested
        replacementTypesForReturn - possible replacement types for method returned type. typically to verify a returned interface type with concrete value
        replacementTypes - possible replacement types for method call values
        defaultTypeValues - default values to pass as method call parameters
        Returns:
        string constructs for composing a parameterized test call
        Throws:
        java.lang.Exception
      • renderReturnParam

        java.lang.String renderReturnParam​(Method testedMethod,
                                           Type type,
                                           java.lang.String defaultName,
                                           java.util.Map<java.lang.String,​java.lang.String> replacementTypes,
                                           java.util.Map<java.lang.String,​java.lang.String> defaultTypeValues)
                                    throws java.lang.Exception
        builds a string representing the expression returning a resulted value to be verified or mocked
        Parameters:
        testedMethod - method being called
        type - return type
        defaultName - default string value to be used if type is a string or couldn't be resolved. should typically be a meaningful name
        replacementTypes - type - value map where key is the fully qualified type name to be replaced with a template of initialized type, for arguments in method call. typically to replace interface type with concrete type initialization
        defaultTypeValues - default types - value map to be used for relevant type arguments in method call
        Returns:
        a string representing the expression returning a resulted value to be verified
        Throws:
        java.lang.Exception
      • renderInitType

        java.lang.String renderInitType​(Type type,
                                        java.lang.String defaultName,
                                        java.util.Map<java.lang.String,​java.lang.String> replacementTypes,
                                        java.util.Map<java.lang.String,​java.lang.String> defaultTypeValues)
                                 throws java.lang.Exception
        constructs a type initialization expression
        Parameters:
        type - type being initialized
        defaultName - efault string value to be used if type is a string or couldn't be resolved. should typically be a meaningful name
        replacementTypes - type - value map where key is the fully qualified type name to be replaced with a template of initialized type, for arguments in method call. typically to replace interface type with concrete type initialization
        defaultTypeValues - default types - value map to be used for relevant type arguments in method call
        Returns:
        type initialization expression
        Throws:
        java.lang.Exception