Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
kcl →

assert

Check a value meets some expected conditions at runtime. Program terminates with an error if conditions aren't met. If you provide multiple conditions, they will all be checked and all must be met.

assert(
  actual: number,
  isGreaterThan?: number,
  isLessThan?: number,
  isGreaterThanOrEqual?: number,
  isLessThanOrEqual?: number,
  isEqualTo?: number,
  tolerance?: number,
  error?: String,
): ()

Arguments

NameTypeDescriptionRequired
actualnumberValue to check. It will be compared with one of the comparison arguments.Yes
isGreaterThannumberComparison argument. If given, checks the actual value is greater than this.No
isLessThannumberComparison argument. If given, checks the actual value is less than this.No
isGreaterThanOrEqualnumberComparison argument. If given, checks the actual value is greater than or equal to this.No
isLessThanOrEqualnumberComparison argument. If given, checks the actual value is less than or equal to this.No
isEqualTonumberComparison argument. If given, checks the actual value is less than or equal to this.No
tolerancenumberIf isEqualTo is used, this is the tolerance to allow for the comparison. This tolerance is used because KCL's number system has some floating-point imprecision when used with very large decimal places.No
errorStringIf the value was false, the program will terminate with this error messageNo

Returns

()

Examples

n = 10
assert(n, isEqualTo = 10)
assert(
  n,
  isGreaterThanOrEqual = 0,
  isLessThan = 100,
  error = "number should be between 0 and 100",
)
assert(
  1.0000000000012,
  isEqualTo = 1,
  tolerance = 0.0001,
  error = "number should be almost exactly 1",
)

Rendered example of assert 0