Releases: typelift/SwiftCheck
Fivel
- Update to Swift 5, 5-style package format, and upgrade the Xcode project to compile in Swift 5 mode
- Fix a bug where
cover
ed properties yielded a false positive if the condition was never true
In the coming release, we will be reworking the coverage system to better match QuickCheck's current functionality.
Four Two The Floor
- Update to the Swift 4.2 tooling, 4.2-style package format, and upgrade the Xcode project to compile in the 4.2 mode of the Swift compiler.
- Removed the previously-deprecated
Gen.map
forms. Please use the correspondingGen.zip
function call itself - Removed
quickCheck(_ :name:)
. Use one ofquickCheck(asserting:)
orquickCheck(reporting:)
instead.
Impredicativity
- Remove self-referential Arbitrary instances for lazy collections
- Updates to documentation
This is the last release of SwiftCheck that supports Xcode 9 and its tooling.
Higher-Order Checkanery
Swift turns 4.1, and so SwiftCheck marches onward. This release brought with it a raft of improvements:
- Non-operator spellings of the standard
property() <- test
pattern is provided in the form of the newquickCheck
functions. - Conditional conformances for a raft of Standard Library types obviate most modifier types. As such,
ArrayOf<T>
,SetOf<T>
,DictionaryOf<K, V>
, andOptionalOf<T>
have been removed. You can now directly use the natural types[T]
,Set<T>
,[K: V]
, andT?
respectively. - Documentation improvements and simplifications
Uppercut
Chubby Checker
SwiftCheck has internally upgraded to Swift 4.x.
-
Generation of floating point values specified an incorrect mask which could lead to decreased diversity of test values. Calculation of the mask has been corrected (h/t @sebastiangrail). Seeds replaying tests involving floating point numbers may need to be recalculated.
-
Gen.fromElements(in:)
,Gen.fromElements(of:)
,Gen.choose(_:)
andGen.chooseAny()
have been updated to take fuller advantage of type inference and may no longer require explicit specialization. In addition, incorrect specializations may now be diagnosed as errors. -
Gen.map(...)
overloads have been deprecated and renamedGen.zipWith
. These have been given a similar overhaul to the above.
Pointless Pointilism
SwiftCheck now targets Xcode 9 and Swift 3.2. This is the last version of SwiftCheck that will support Swift 3.
Swift Three, We Hardly Knew Ye
SwiftCheck now builds with Swift 3.1
I-Triple-E-To-The-One-To-The-Three
Fixes an issue where generating with the range (Int.max - 512, Int.max)
could cause Builtin
integer conversions to fail in the middle of random number generation.
Arrowized Materialism
Fixes an issue where extending the lifetime of ArrowOf<T, U>
or IsoOf<T, U>
could cause the underlying data table to be prematurely deallocated. (h/t @broomburgo)