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);
}
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());
}
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());
}
Aggregations