Class AbstractHierarchyTest


  • public abstract class AbstractHierarchyTest
    extends java.lang.Object
    Abstract test to check if class/bean hierarchy is flat.

    Use this test to perform a check of classes and Spring beans hierarchy. Test traverses through whole hierarchy of both classes and Spring beans and checks if there is only one child per each parent. A class/bean may still have branched hierarchy, if only it is properly marked with BranchedHierarchy annotation.

    See Also:
    BranchedHierarchy
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.String getDefaultTestPackage()  
      protected java.lang.String[] getTestPackages()  
      protected boolean matchesTestPackage​(java.lang.String pkg)  
      void setUp()  
      protected void testBeanHierarchy​(org.springframework.beans.factory.support.DefaultListableBeanFactory beanDefinitionRegistry, java.lang.String beanName, java.util.Map<java.lang.String,​java.lang.String> checkedHierarchy)  
      protected void testClassHierarchy​(java.lang.Class<?> clazz, java.util.Map<java.lang.String,​java.lang.String> checkedHierarchy)  
      protected void testClassHierarchy​(java.lang.String className, java.util.Map<java.lang.String,​java.lang.String> checkedHierarchy)  
      protected void testClassHierarchyDirectly​(java.lang.Class<?> parentClass, java.lang.Class<?> clazz, java.util.Map<java.lang.String,​java.lang.String> checkedHierarchy)  
      protected void testHierarchy​(java.lang.String parentName, java.lang.String childName, java.lang.Class<?> parentClass, java.util.function.Function<BranchedHierarchy,​java.lang.String[]> specificExclusions, java.util.Map<java.lang.String,​java.lang.String> checkedHierarchy)  
      void thereShouldBeOnlyOneChildBeanPerParentBean()  
      void thereShouldBeOnlyOneChildClassPerParentClass()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractHierarchyTest

        public AbstractHierarchyTest()
    • Method Detail

      • setUp

        public void setUp()
      • getTestPackages

        protected java.lang.String[] getTestPackages()
      • getDefaultTestPackage

        protected java.lang.String getDefaultTestPackage()
      • thereShouldBeOnlyOneChildClassPerParentClass

        public void thereShouldBeOnlyOneChildClassPerParentClass()
      • matchesTestPackage

        protected boolean matchesTestPackage​(java.lang.String pkg)
      • testClassHierarchy

        protected void testClassHierarchy​(java.lang.String className,
                                          java.util.Map<java.lang.String,​java.lang.String> checkedHierarchy)
      • testClassHierarchy

        protected void testClassHierarchy​(java.lang.Class<?> clazz,
                                          java.util.Map<java.lang.String,​java.lang.String> checkedHierarchy)
      • testClassHierarchyDirectly

        protected void testClassHierarchyDirectly​(java.lang.Class<?> parentClass,
                                                  java.lang.Class<?> clazz,
                                                  java.util.Map<java.lang.String,​java.lang.String> checkedHierarchy)
      • testHierarchy

        protected void testHierarchy​(java.lang.String parentName,
                                     java.lang.String childName,
                                     java.lang.Class<?> parentClass,
                                     java.util.function.Function<BranchedHierarchy,​java.lang.String[]> specificExclusions,
                                     java.util.Map<java.lang.String,​java.lang.String> checkedHierarchy)
      • thereShouldBeOnlyOneChildBeanPerParentBean

        public void thereShouldBeOnlyOneChildBeanPerParentBean()
      • testBeanHierarchy

        protected void testBeanHierarchy​(org.springframework.beans.factory.support.DefaultListableBeanFactory beanDefinitionRegistry,
                                         java.lang.String beanName,
                                         java.util.Map<java.lang.String,​java.lang.String> checkedHierarchy)