run.qontract.core.CheckFacts.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of qontract-core Show documentation
Show all versions of qontract-core Show documentation
A Contract Testing Tool that leverages Gherkin to describe APIs in a human readable and machine enforceable manner
package run.qontract.core
import run.qontract.core.value.Value
data class CheckFacts(private val state: Map = emptyMap()) : FactStore {
override fun match(sampleValue: Value, key: String): Result =
when (val stateValue = state.getValue(key)) {
sampleValue -> Result.Success()
else -> Result.Failure(message = "Server state did not match. Expected $stateValue at $key, but got $sampleValue.")
}
override fun has(key: String): Boolean = state.containsKey(key)
override fun get(key: String): Value = state.getValue(key)
}