Changelog

Release History

VersionDateDescription
1.32010-08-04Subsequent release
1.22009-11-02Subsequent release
1.12009-04-20Subsequent release
1.02008-12-16Subsequent release
1.0a12008-02-18Subsequent release
0.9.12008-02-04Subsequent release
0.92008-01-30Subsequent release
0.82008-01-03Subsequent release
0.72007-11-08Subsequent release
0.62007-10-15Subsequent release
0.5-SNAPSHOT2007-09-19Subsequent release
0.42007-09-17First public release

Release 1.3 - 2010-08-04

TypeChangesBy
fixAll primitive-related assertion classes now extend GenericAssert and take a primitive wrapper as value. Fixes FEST-133. Thanks to Stanislaw Osinski.konermann
addAdded method "isEqualToIgnoringCase" to StringAssert. Fixes FEST-171.konermann
addAdded methods "isNull" and "isNotNull" to all assertion classes for primitive values. Fixes FEST-197.konermann
addAdded method "containsIgnoringCase" to StringAssert. Fixes FEST-252.wanghy
fixClass BasicDescription is no longer final. Fixes FEST-261. Thanks to Ed Bras.wanghy
addAdded method "isNotZero" to BigDecimalAssert. Fixes FEST-310.tedyoung
addAdded support for assertions on extracted values of a given property of collection/array elements. Fixes FEST-324.jocosti
fixImproved error messages related to unexpected null objects. Fixes FEST-326.wanghy
fixAdded method "doesNotContain" to StringAssert. Fixes FEST-328.wanghy
fixFixed implementation of "containsEntry" in MapAssert to verify that a Map contains a given entry. Fixes FEST-329. Thanks to Mark Derricutt.wanghy
addAdded method "assertThat(Iterable)" to class org.fest.assertions.Assertions. Fixes FEST-334. Thanks to James Ravn.alexruiz
fixMethod "containsOnly" in ListAssert now supports duplicates. Fixes FEST-367.wanghy

Release 1.2 - 2009-11-02

TypeChangesBy
fixClass Formatting and its methods are now public. Fixes FEST-147.tedyoung
fixAdded method 'isNotEqualByComparingTo' to BigDecimalAssert. Fixes FEST-157.tedyoung
fixAssertion classes are no longer final. Constructors are now protected, instead of package-protected. Fixes FEST-165.konermann
fixClass org.fest.assertions.Assertions are no longer final. Constructor is now protected, instead of private. Fixes FEST-166.konermann
fixAdded methods 'is(Condition)' and 'isNot(Condition)' to all assertion classes. These methods are aliases for 'satisfies(Condition)' and 'doesNotSatisfy(Condition)' respectively. Fixes FEST-168.alexruiz
fixAll assertions now throw ComparisonFailure if comparison of two objects fail and JUnit is in the classpath. Fixes FEST-168.alexruiz
fixImageAssert no longer uses the constructor IOException(String, Throwable) from JDK 1.6. Fixes FEST-198.konermann
fixFixed inconsistency in parameter naming. Fixes FEST-218.alexruiz
fixReorganized tests and migrated to JUnit. Fixes FEST-223.alexruiz
fixFixed error message displayed when two Strings are not equal and JUnit is in the classpath. Fixes FEST-228.alexruiz
fixDescriptions of actual values are evaluated only if an assertion fails. Fixes FEST-229.alexruiz
fixMethods 'satisfies(Condition)' and 'doesNotSatisfy(Condition)' in all assertions now throw NullPointerException instead of IllegalArgumentException if the given condition is null. Fixes FEST-230.alexruiz
fixMethod 'hasSameContentAs(File)' in FileAssert now throws NullPointerException instead of IllegalArgumentException if the given File is null. Fixes FEST-230.alexruiz
fixMethods 'includes(Entry...)' and 'excludes(Entry...)' in MapAssert now throws NullPointerException instead of IllegalArgumentException if any of the values in the given Entry array is null. Fixes FEST-230.alexruiz
fixMethod 'hasSize(Dimension)' in ImageAssert now throws NullPointerException instead of IllegalArgumentException if the given Dimension is null. Fixes FEST-230.alexruiz
fixMethod 'read(String)' in ImageAssert now throws NullPointerException if the given path is null. Fixes FEST-230.alexruiz
fixMethod 'isInstanceOf(Class)' in ObjectAssert now throws NullPointerException instead of IllegalArgumentException if the given type is null. Fixes FEST-230.alexruiz
fixMethod 'isInstanceOfAny(Class...)' in ObjectAssert now throws NullPointerException instead of IllegalArgumentException if the given array is null. Fixes FEST-230.alexruiz
fixMethod 'isInstanceOfAny(Class...)' in ObjectAssert now throws NullPointerException instead of IllegalArgumentException if the any element in the given array is null. Fixes FEST-230.alexruiz
fixMethod 'contains(Object, Index)' in ListAssert now throws NullPointerException instead of AssertionError if the given Index is null. Fixes FEST-230.alexruiz
fixMethod 'contains(Object, Index)' in ListAssert now throws IndexOutOfBoundsException instead of AssertionError if the value in the given Index is out of bounds. Fixes FEST-230.alexruiz
addAdded method 'overridingErrorMessage(String)' that allows users to specify custom error messages, replacing the default ones. Fixes FEST-234.alexruiz
addWhen two objects are compared with 'isEqualTo' and the comparison fails, a ComparisonFailure is thrown using the 'toString' implementation of the compared objects. Fixes FEST-242.alexruiz
fixDeprecated static inner class Delta in FloatAssert. It is replaced by top-level class org.assertions.Delta. Fixes FEST-245.alexruiz
fixDeprecated method 'value' in class Delta. Replaced with method 'doubleValue'. Fixes FEST-245.alexruiz

Release 1.1 - 2009-04-20

TypeChangesBy
removeRemoved method 'size' from GroupAssert. This method should have been removed before releasing 1.0.alexruiz
addAdded class ListAssert. Fixes FEST-59. Thanks to Konstantin Scheglov, cbraid.alexruiz
addAdded method 'isEqualTo(double[], Delta)' to DoubleArrayAssert. Fixes FEST-65. Thanks to Stanislaw Osinski.alexruiz
removeConverted inner class Delta in DoubleArrayAssert to a top-level class. Inner class Delta has been deprecated and it will be removed in v. 2.0. Fixes FEST-65. Thanks to Stanislaw Osinski.alexruiz
fixMethod 'isEqualTo(Object[])' in ObjectArrayAssert now uses java.util.Arrays.deepEquals(Object[], Object[]) to compare two arrays. Fixes FEST-66. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded method 'isEqualTo(BufferedImage, Threshold)' which tolerates a certain amount of color differences when comparing two images for equality. Fixes FEST-107. Thanks to Jean-Francois Poilpret.alexruiz
addPackage-protected classes Assert, GenericAssert and GroupAssert are now public. Fixes FEST-108. Thanks to Jacob Fahrenkrug, Timmo Gierke.alexruiz
addPackage-protected methods in classes Assert, GenericAssert and GroupAssert are now protected. Fixes FEST-108. Thanks to Jacob Fahrenkrug, Timmo Gierke.alexruiz

Release 1.0 - 2008-12-16

TypeChangesBy
addAdded method 'doesNotHaveDuplicates(Object...)' to ObjectArrayAssert. Fixes 112. Thanks to Ted Young.wanghy
addRenamed method 'contains(Entry...)' to 'includes(Entry...)' to MapAssert.alexruiz
addAssertions for primitive values can also be created from primitive wrappers. Fixes 114. Thanks to Ted Young.wanghy, alexruiz
addAdded interface org.fest.assertions.Description. Fixes 227.alexruiz, wanghy
addAdded methods 'as(Description)' and 'describedAs(Description)' to all assertions. Fixes 227.alexruiz, wanghy
removeRemoved class ThrowableAssert.CauseHierarchyAssert. Fixes 256.alexruiz
removeRemoved methods 'message', 'causeHierarchy' and 'cause' from ThrowableAssert. Fixes 256.alexruiz
removeRemoved method 'size' from FileAssert. Fixes 256.alexruiz

Release 1.0a1 - 2008-02-18

TypeChangesBy
addExceptions thrown by methods 'satisfies' and 'doesNotSatisfy' include the name of Condition class if the Condition's description is not specified.alexruiz
addAdded method 'doesNotSatisfy' to all assertions. Fixes 46. Thanks to Mark Derricutt.wanghy, alexruiz
addPatch: Added support for BigDecimal. Fixes 107. Thanks to Ted Young, David DIDIER.wanghy, alexruiz
addAdded method 'isEmptyOrNull' to BooleanArrayAssert, ByteAssertArray, CharArrayAssert, CollectionAssert, DoubleArrayAssert, FloatArrayAssert, IntArrayAssert, LongArrayAssert, MapAssert, ShortArrayAssert and StringAssert.alexruiz, wanghy
addAdded fest-mocks-0.1 and fest-test-0.1 as a 'test' scoped dependencies.alexruiz, wanghy
addAdded method 'message' to ThrowableAssert. This method returns a StringAssert.alexruiz
addAdded method 'hasMessage(String)' to ThrowableAssert.alexruiz
addAdded method 'size' to FileAssert. This method returns a LongAssert.alexruiz
fixFixed bug in FileContentComparator where EOF (end of file) was determined at the wrong time.alexruiz, wanghy
addReplaced methods 'hasCauseAsAncestor' and 'hasExactCauseAsAncestor' in ThrowableAssert with the methods 'hasCauseOfType' and 'hasCauseOfExactType' in CauseHierarchyAssert. To get a CauseHierarchyAssert, users need to call the method 'causeHierarchy' in ThrowableAssert.alexruiz
addReplaced method 'hasCauseOfType' in ThrowableAssert with method 'cause', which returns another ThrowableAssert for the cause of the actual Throwable. Users can call 'isInstanceOf' in the returned ThrowableAssert.alexruiz
addMethod 'isInstanceOf' in ObjectAssert and ThrowableAssert throws IllegalArgumentException if the given Class is null.wanghy
addMethod 'isInstanceOfAny' in ObjectAssert throws IllegalArgumentException if the given Class array is null or if any element in the given Class array is null.wanghy
fixFixed typos in Javadocs for class PrimitiveFail. Thanks to Ted Young.alexruiz
removeRemoved dependency on Apache Velocity.alexruiz
removeRemoved code generators for assertions for primitive arrays and failure methods for primitives.alexruiz
fixAdded missing declaration of exceptions in Javadocs.alexruiz, wanghy
fixEliminated inconsistencies and typos in exception messages.alexruiz, wanghy

Release 0.9.1 - 2008-02-04

TypeChangesBy
fixError messages in ObjectArrayAssert and all the assertion objects dealing with array of primitives where including the description of the assertion object twice.alexruiz
fixError messages in ObjectArrayAssert were using quotes around array of Strings.alexruiz

Release 0.9 - 2008-01-30

TypeChangesBy
addUpdated dependency 'fest-util' to version 0.3.wanghy
addImproved Javadoc documentation of the methods 'as' and 'describedAs' in all assertion classes. Fixes 103. Thanks to Ted Young.wanghy
addAdded method 'assertThat(Iterator)' to Assertions. This method returns a CollectionAssert. Fixes 101. Thanks to Ted Young.wanghy
addAdded methods 'hasAllElementsOfType' and 'hasAtLeastOneElementOfType' to ObjectArrayAssert. Fixes 100. Thanks to Ted Young.alexruiz, wanghy
addAdded check 'isNotNull' to all the methods in all assertion objects that deal with not-null actual values.wanghy
addChanged access of protected methods to package-protected.wanghy
addPatch: added methods 'isEqualTo' and 'isNotEqualTo' to BooleanAssert. Fixes 96. Thanks to David DIDIER.wanghy
addPatch: added methods 'matches' and 'doesNotMatch' to StringAssert. Fixes 94. Thanks to David DIDIER.wanghy
addPatch: added methods 'isRelative' and 'isAbsolute' to FileAssert. Fixes 93. Thanks to David DIDIER.wanghy
addAdded method 'assertThat(Map)' to Assertions. This method returns a MapAssert. Fixes 90. Thanks to David DIDIER.wanghy
addPatch: added class MapAssert. Fixes 90. Thanks to David DIDIER.wanghy
addPatch: added methods 'greaterOrEqualTo' and 'lessOrEqualTo' to ByteAssert, CharAssert, DoubleAssert, FloatAssert, IntAssert, LongAssert and ShortAssert. Fixes 87. Thanks to David DIDER.wanghy, alexruiz
addPatch: added methods 'startsWith' and 'endsWith' to StringAssert. Fixes 86. Thanks to David DIDIER.wanghy
addPatch: added class method 'isInstanceOf' to ThrowableAssert. Fixes 84. Thanks to David DIDIER.wanghy
addPatch: added class method 'hasSameContentAs' to FileAssert. Fixes 84. Thanks to David DIDIER.wanghy
addAdded method 'size()' to GroupAssert. This method returns an IntAssert. Fixes 35. Thanks to Martin Ankerl.wanghy, alexruiz

Release 0.8 - 2008-01-03

TypeChangesBy
addAdded method 'excludes' to StringAssert. Fixes 78. Thanks to David DIDIER.wanghy
addPatch: added class FileAssert. Fixes 79. Thanks to David DIDIER.wanghy
addPatch: added class ThrowableAssert. Fixes 77. Thanks to David DIDIER.alexruiz
fixExpected and actual values were in wrong order when creating a ComparisonFailure. Fixes 72. Thanks to Wim Deblauwe.wanghy, alexruiz
addAdded a generified overload of 'assertThat' to class Assertions. Fixes 47. Thanks to Mark Derricutt.wanghy, alexruiz

Release 0.7 - 2007-11-08

TypeChangesBy
fixAdded a delta value for floating point equality in 'DoubleAssert' and 'FloatAssert'. Fixes 38. Thanks to Martin Ankerl.wanghy
addCreated Maven-generated site to replace Google Code's wiki pages.alexruiz
fixFixed incorrect test for floating point equality in 'DoubleArrayAssert' and 'FloatArrayAssert'. Fixes 54.alexruiz
addAdded method 'containsOnly' to all assertion objects that handle arrays or collections. This method verifies that the actual array or collection contains all the given values and only the given values.wanghy

Release 0.6 - 2007-10-15

TypeChangesBy
addSupport for JUnit's ComparisonFailure. Fixes 31. Thanks to Konstantin Scheglov.wanghy
addAdded method 'contains' to all assertion objects that handle arrays or collections. This method verifies that the actual array or collection contains the given values. Fixes 37. Thanks to Martin Ankerl.wanghy
addAdded method 'excludes' to all assertion objects that handle arrays or collections. This method is the opposite of 'contains'.wanghy
fixAll assertion objects override 'equals(Object)', which now throws 'UnsupportedOperationException' to prevent accidental calls. Fixes 39. Thanks to Martin Ankerl.alexruiz

Release 0.5-SNAPSHOT - 2007-09-19

TypeChangesBy
addIntroduced method 'describedAs' as a counterpart to 'as'. This issue prevented to use the method 'as' in Groovy ('as' is a keyword in Groovy). Fixes 30. Thanks to Marcos Silva Pereira.wanghy
fixFixed minor bug in assertion classes for arrays (Object and primitives) where the actual and expected values where in the wrong order in the failure message of 'isEqualTo'.wanghy

Release 0.4 - 2007-09-17

TypeChangesBy
addIntroduced method 'as' to describe the actual value in the assertion.wanghy
fixAdded support for extensibility using Conditions. Fixes 29.alexruiz