Skip to content
Compare
Choose a tag to compare

Fixed

  1. Issue #140, When using PitTest non-final public static synthetic fields weren't properly ignored with NoStaticExceptFinalRule. (Thanks Mustapha Zorgati)
Compare
Choose a tag to compare

Fixed

  1. Issue #133, NullPointerException when ASM was missing from class path (Thanks evernat & Roel Verbunt).
  2. Issue #139, When using PitTest non-final synthetic fields weren't properly ignored with SetterMustExistRule (Thanks
    Sean Campbell & Mustapha Zorgati).

Removed

  1. com.openpojo.validation.PojoValidator.java has been deprecated for a while and has now been removed, use com.openpojo.validation.ValidatorBuilder instead.
Compare
Choose a tag to compare

Fixed

  1. Issue #130, OpenPojo should now be able to be loaded and run in jdk > 1.8.
  2. Issue #132, Testing Serializable now supports strict as well as non-strict serialization validation.
    • If you set Strict to true, and have an interface in your pojo, that interface must also extend serializable.
    • Default serialization is not strict (useStrictValidation = false).
Compare
Choose a tag to compare

Added

  1. PojoClass now supports getEnclosingClass if for nested classes, will return null if class isn't nested.

Fixed

  1. Issue #119, OpenPojo was failing to construct non static nested class when class had declared constructor with non-generic parameters. (Thank to myron0815)
Compare
Choose a tag to compare

Added

  1. Issue #127 Support for JUnit 5 @test annotation (Thanks to @icenfrosty)
  2. Issue #125 Support for ASM 7.0 (Thanks to @the4dk).

Fixed

  1. Issue #123 Some classes retrieve their source Jar file as file:/path instead of file:///path (Thanks to @max-norris & @myron0815).
Compare
Choose a tag to compare

Added

  1. Issue #113 Support for randomly generating BufferedImage. (Thanks to panosgit)

Fixed

  1. Issue #95 AttributeHelper was stripping out the prefixes from fields regardless of registration scope (causing exceptions). Will now allow you to use the AttributeHelper registering Prefix as guidance not given, enabling you to migrate out of your prefix architecture if needed. (Thanks to Yky)
  2. Better version detection for ASM versions, there was a corner case when ASM pre-5.0 was loaded causing unexpected failure due to changes in ASM pre-5. OpenPojo will now throw appropriate exception if ASM pre-5.0 is detected or 6.0 or higher.
Compare
Choose a tag to compare

Fixed

  1. Removed an accidental include of Log4J logger in SerializableTester, now its logging appropriately to OpenPojo's logging framework.
  2. Fixed an issue when abstract classes were failing generation for testing.
  3. Minor fixes to PrincipleName random generation to make it more robust on JDK 1.5.
Compare
Choose a tag to compare

Added

  1. Serializable tester, now you can test all your serializables by adding "SerializableTester" to the validator, did you know you can also enumerate all serializables in your code with this one call:
      PojoClassFactory.enumerateClassesByExtendingType("your.top.level.package", Serializable.class, null);
  1. OpenPojo will now generate stub methods for all abstract methods in an abstract class being tested. Those methods will return random values based on the return type.

Changed

  1. Issue #102 Now you can pull the PojoClass if you have the PojoField.

Fixed

  1. Issue #89 If an abstract class was being tested and during one of the methods being tested a call toString() was made and toString() was declared abstract, an error used to be thrown, now OpenPojo will dispatch the toString() to BusinessIdentity.toString() to print the class name and memory address per standard. While trouble shooting this issue also fixed an issue when an abstract class under testing had constructor(s) defined that had parameters in them was throwing errors. (Thanks to Michel W.)
  2. Issue #107 When a erroneously detecting serialVersionUID was a shadowed field. (Thanks to Henrik V.)
  3. Issue #112 Failure for OpenPojo to randomly generate appropriate XMLGregorianCalendar object.
Compare
Choose a tag to compare

Added

  1. Issue #109, OpenPojo will now initialize all @BusinessKey fields when generating a Pojo that declares such fields.
  2. Issue #83, EqualsAndHashCodeMatchRule a new rule that ensures that either both equals & hashCode are implemented or neither is. (Thanks to Eulbobo)

Changed

  1. Issue #86, Validator now returns a list of classes validated when calling by "packageName" so caller can inspect and ensure validation has actually occurred and against which classes.

Fixed

  1. Issue #109, OpenPojo will no longer throw errors when attempting to test Pojo's that have Set fields with that hold Pojo's that utilize BusinessKeys.
  2. Issue #108, OpenPojo will no longer depend on just "sun.boot.class.path" nor will it throw null pointers if it is not set. (Thanks to JohnZavyn)
  3. Issue #100, OpenPojo will successfully create dynamic subclasses from an abstract class. (Thanks to lennartnederstigt)
Compare
Choose a tag to compare

Fixed

  1. Issue #88, GetterMustExist now skips synthetic fields. (Thanks to mkonstantinou)
  2. Issue #92, OpenPojo's NoFieldShadowingRule rule will now not erroneously detect serialVersionUID as a field being shadowed. Additionally, NoFieldShadowingRule now supports list of fieldNames to skip. (Thanks to sixcorners)