All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.scalatest.concurrent.AbstractPatienceConfiguration.scala Maven / Gradle / Ivy

There is a newer version: 2.0.M6-SNAP27
Show newest version
package org.scalatest.concurrent

import org.scalatest.time.{Span, Millis}


/**
 * Trait that defines an abstract patienceConfig method that is implemented in PatienceConfiguration and can
 * be overriden in stackable modification traits such as IntegrationPatience.
 *
 * 

* The main purpose of AbstractPatienceConfiguration is to differentiate core PatienceConfiguration * traits, such as Eventually and AsyncAssertions, from stackable * modification traits for PatienceConfigurations such as IntegrationPatience. * Because these stackable traits extend AbstractPatienceConfiguration * instead of Suite, you can't simply mix in a stackable trait: *

* *
 * class ExampleSpec extends FunSpec with IntegrationPatience // Won't compile
 * 
* *

* The previous code is undesirable because IntegrationPatience would have no affect on the class. Instead, you need to mix * in a core PatienceConfiguration trait and mix the stackable IntegrationPatience trait * into that, like this: *

* *
 * class ExampleSpec extends FunSpec with Eventually with IntegrationPatience // Compiles fine
 * 
* *

* The previous code is better because IntegrationPatience does have an effect: it modifies the behavior * of Eventually. *

* * @author Bill Venners */ trait AbstractPatienceConfiguration extends ScaledTimeSpans { /** * Configuration object for asynchronous constructs, such as those provided by traits Eventually and * AsyncAssertions. * *

* The default values for the parameters are: *

* * * * * * * * * * * *
Configuration ParameterDefault Value
* timeout * * scaled(150 milliseconds) *
* interval * * scaled(15 milliseconds) *
* * @param timeout the maximum amount of time to wait for an asynchronous operation to complete before giving up and throwing * TestFailedException. * @param interval the amount of time to sleep between each check of the status of an asynchronous operation when polling * * @author Bill Venners * @author Chua Chee Seng */ final case class PatienceConfig(timeout: Span = scaled(Span(150, Millis)), interval: Span = scaled(Span(15, Millis))) /** * Returns a PatienceConfig value providing default configuration values if implemented and made implicit in subtraits. */ def patienceConfig: PatienceConfig }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy