Search in sources :

Example 1 with AbstractClassInfoStrategy

use of uk.co.jemos.podam.api.AbstractClassInfoStrategy in project podam by devopsfolks.

the class ClassInfoTest method podamShouldReturnAClassInfoObjectWithNonStandardAttributesWithCustomStrategy.

@Test
@Title("Podam should be able to find non-standard attributes with a custom class info strategy")
public void podamShouldReturnAClassInfoObjectWithNonStandardAttributesWithCustomStrategy() {
    ClassAttributeApprover nullApprover = null;
    AbstractClassInfoStrategy classInfoStrategy = new AbstractClassInfoStrategy() {

        @Override
        protected Pattern getGetterPattern() {
            return Pattern.compile("^whatIs");
        }

        @Override
        protected Pattern getSetterPattern() {
            return Pattern.compile("^with");
        }
    };
    ClassInfo actualClassInfo = podamInvocationSteps.getClassInfoWithCustomClassStrategy(NonStandardPojoToTestSetters.class, classInfoStrategy, nullApprover);
    podamValidationSteps.theObjectShouldNotBeNull(actualClassInfo);
    podamValidationSteps.theTwoObjectsShouldBeEqual(NonStandardPojoToTestSetters.class, actualClassInfo.getClassName());
    Set<String> attribs = new HashSet<String>();
    attribs.add("stringField");
    attribs.add("intField");
    classInfoValidationSteps.theClassInfoAttributesShouldMatchthePojoOnes(attribs, actualClassInfo.getClassAttributes());
}
Also used : AbstractClassInfoStrategy(uk.co.jemos.podam.api.AbstractClassInfoStrategy) ClassAttributeApprover(uk.co.jemos.podam.api.ClassAttributeApprover) ClassInfo(uk.co.jemos.podam.api.ClassInfo) HashSet(java.util.HashSet) Test(org.junit.Test) Title(net.thucydides.core.annotations.Title)

Aggregations

HashSet (java.util.HashSet)1 Title (net.thucydides.core.annotations.Title)1 Test (org.junit.Test)1 AbstractClassInfoStrategy (uk.co.jemos.podam.api.AbstractClassInfoStrategy)1 ClassAttributeApprover (uk.co.jemos.podam.api.ClassAttributeApprover)1 ClassInfo (uk.co.jemos.podam.api.ClassInfo)1