All Versions
27
Latest Version
Avg Release Cycle
23 days
Latest Release
66 days ago

Changelog History
Page 1

  • v0.6.0

    April 01, 2020

    0.6.0 (2020-04-01)

    🔋 Features

    • ➕ Add arbitrary ints (with shrinking support) (#152) (795201e)
  • v0.5.0

    March 29, 2020

    ➕ Added

    ✅ Reintroduce core core module that adds all transitive dependencies necessary for property based testing.

    Fuzzer

    A new module fuzzer has been added. It contains an experimental abstraction layer which is meant to be above the
    Generator. (Note that fuzzer-api is transitively added by evaluator and core)

    The (existing) Generator is responsible only for generating random value
    ✅ (without even knowing if it is for testing purposes or not).

    ✅ A Fuzzer is specialized for property based testing.
    It contains a Generator, a Simplifier and a list of guarantees
    that must be satisfied at least once during evaluation.

    ✅ A new function forAny is provided to run test using Fuzzer instead of Generator in module evaluator.
    In case of property falsification, this function will simplify the input to the simplest input that still falsify the property.

    Simplifier combination Simplifier.pair(Simplifier, Simplifier) and Simplier.triple(Simplifier, Simplifier, Simplifier)
    Are provided

    Arbitrary an empty object type that can be used to find Fuzzer factories (regardless of the module they come from)

    Arbitrary.pair and Arbitrary.triple to combine fuzzers.

    ⚡️ Dependencies Updated

    • Kotlin (from 1.3.61 to 1.3.71)
  • v0.4.0

    February 08, 2020

    ➕ Added

    • 👍 Allow to configure default number of iteration via environment variable KWIK_ITERATIONS on JVM and Linux
      (on JVM the system property has precedence over the environment variable)
    • 👍 Allow to configure default seed via system property kwik.seed (on JVM) or via environment variable KWIK_SEED on JVM and Linux
      (on JVM the system property has precedence over the environment variable)
  • v0.4.0._

    February 08, 2020

    ➕ Added .....

    • 👍 Allow to configure default number of iteration via environment variable KWIK_ITERATIONS on JVM and Linux (on JVM the system property has precedence over the environment variable)
    • 👍 Allow to configure default seed via system property kwik.seed (on JVM) or via environment variable KWIK_SEED on JVM and Linux (on JVM the system property has precedence over the environment variable)
  • v0.3.0

    January 24, 2020

    Removed (Breaking)

    • Module core. It was an empty module only to provide transitive dependencies to most common used modules.

    ➕ Added

    Migration from 0.2.0

    ⚡️ Before updating to 0.3.0 (so using version 0.2.0)

    ✂ Remove all usage of deprecated members

    👉 Use Generator.withSamples instead of Generator.samples

    👉 Use Generator.randomSequence instead of Generator.randoms

    Replace dependencies of module core by evaluator and generator-stdlib
    Example with gradle for JVM project:

    dependencies { testImplementation("com.github.jcornaz.kwik:kwik-evaluator-jvm:0.2.0") testImplementation("com.github.jcornaz.kwik:kwik-generator-stdlib-jvm:0.2.0") }
    
  • v0.3.0-alpha.1_

    December 05, 2019

    Removed (Breaking) ......................

    • 🚚 Generator.samples property has been removed. Now the generator have to have a probability to generate the edge cases in generate. The recommended option when building a generator, is to use withSamples

    • 🚚 Generator.randoms function has been removed. Generator.generate or Generator.randomSequence should be used instead.

    🔄 Changed .......

    All generators no longer statically provide samples. Instead they have a good probability to generate edge cases.

    • (Breaking binary) withSample now takes a probability argument, and include the samples in the generation

    ➕ Added .....

    • ensureAtLeastOne utility in evaluation context, that will force property evaluation until a given predicate gets satisfied Thanks to alessandroagnelli_

    .. _alessandroagnelli: https://github.com/alessandroagnelli

    ⚡️ Dependencies Updated ....................

    • Kotlin (from 1.3.60 to 1.3.61)
  • v0.3.0-alpha.1

    December 05, 2019

    Removed (Breaking)

    🚚 Generator.samples property has been removed.
    Now the generator have to have a probability to generate the edge cases in generate.
    🏗 The recommended option when building a generator, is to use withSamples

    🚚 Generator.randoms function has been removed.
    Generator.generate or Generator.randomSequence should be used instead.

    🔄 Changed

    All generators no longer statically provide samples. Instead they have a good probability to generate edge cases.

    • (Breaking binary) withSample now takes a probability argument, and include the samples in the generation

    ➕ Added

    • ensureAtLeastOne utility in evaluation context,
      that will force property evaluation until a given predicate gets satisfied

    ⚡️ Dependencies Updated

    • Kotlin (from 1.3.60 to 1.3.61)
  • v0.3.0._

    January 24, 2020

    Removed (Breaking) ......................

    • Module core. It was an empty module only to provide transitive dependencies to most common used modules.

    ➕ Added .....

    • 🐧 linux and windows targets (x64 arch) Thanks to drodel_ and michellesantos_

    .. _drodel: https://github.com/drodel .. _michellesantos: https://github.com/michellesantos

    Migration from 0.2.0 ....................

    ⚡️ #. Before updating to 0.3.0 (so using version 0.2.0)

    #. Remove all usage of deprecated members
    
       * Use ``Generator.withSamples`` instead of ``Generator.samples``
    
       * Use ``Generator.randomSequence`` instead of ``Generator.randoms``
    
    #. Replace dependencies of module ``core`` by ``evaluator`` and ``generator-stdlib``
        Example with gradle for JVM project:
    
        .. code-block:: kotlin
    
            dependencies {
                testImplementation("com.github.jcornaz.kwik:kwik-evaluator-jvm:0.2.0")
                testImplementation("com.github.jcornaz.kwik:kwik-generator-stdlib-jvm:0.2.0")
            }
    
  • v0.2.0

    November 19, 2019

    🗄 Deprecated

    • samples property in Generator interface. (Samples are about to be included in generation of generate)
      One should use withSamples and frequency instead.

    ➕ Added

    • 🏗 andThen operator to make easier building complex generation pipeline
    • frequency combinator, allowing to create a frequency-parametrized generator

    ⚡️ Dependencies Updated

    • Kotlin (from 1.3.50 to 1.3.60)
  • v0.2.0-rc.1_

    September 18, 2019

    🔄 Changed .......

    • 0️⃣ default max size/length for string,collection and sequence generators set to 50 (instead of 200)

    ➕ Added .....

    • sequences generator
    • uuids generator