Search in sources :

Example 1 with ClassAttributeApprover

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

the class ClassInfoTest method podamShouldReturnAValidClassInfoForPojoWithNoAttributes.

@Test
@Title("Podam should return valid class info for POJOs with no attributes")
public void podamShouldReturnAValidClassInfoForPojoWithNoAttributes() {
    List<ClassAttribute> attributes = new ArrayList<ClassAttribute>();
    ClassInfo expectedClassInfo = podamFactorySteps.givenAClassInfoForPojoWithNoAttributes(EmptyTestPojo.class, attributes);
    ClassAttributeApprover nullApprover = null;
    ClassInfo actualClassInfo = podamInvocationSteps.getClassInfo(EmptyTestPojo.class, nullApprover);
    podamValidationSteps.theTwoObjectsShouldBeEqual(expectedClassInfo, actualClassInfo);
}
Also used : ClassAttribute(uk.co.jemos.podam.api.ClassAttribute) ArrayList(java.util.ArrayList) ClassAttributeApprover(uk.co.jemos.podam.api.ClassAttributeApprover) ClassInfo(uk.co.jemos.podam.api.ClassInfo) Test(org.junit.Test) Title(net.thucydides.core.annotations.Title)

Example 2 with ClassAttributeApprover

use of uk.co.jemos.podam.api.ClassAttributeApprover 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)

Example 3 with ClassAttributeApprover

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

the class ClassInfoTest method podamShouldReturnAClassInfoObjectWhichContainsTheSameAttributesAsThePojoBeingProcessed.

@Test
@Title("Podam should generate a ClassInfo which contains information for the setters contained in the POJO")
public void podamShouldReturnAClassInfoObjectWhichContainsTheSameAttributesAsThePojoBeingProcessed() {
    ClassAttributeApprover nullApprover = null;
    ClassInfo actualClassInfo = podamInvocationSteps.getClassInfo(SimplePojoToTestSetters.class, nullApprover);
    podamValidationSteps.theObjectShouldNotBeNull(actualClassInfo);
    podamValidationSteps.theTwoObjectsShouldBeEqual(SimplePojoToTestSetters.class, actualClassInfo.getClassName());
    Set<String> attribs = new HashSet<String>();
    attribs.add("stringField");
    attribs.add("intField");
    classInfoValidationSteps.theClassInfoAttributesShouldMatchthePojoOnes(attribs, actualClassInfo.getClassAttributes());
}
Also used : 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

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