Assert.IsAlmost
This assertion is used to check whether the input is almost equal to a given value.
Details
For non-decimal values (e.g. Int
), :Epsilon
is ignored and this shard acts as Assert.Is
.
Examples
| ; :Break = `true`, assertion true
; => log no errors and dont abort program
8 | Assert.IsAlmost(7 Break: true Threshold: 1)
|
| ; :Break = `true`, assertion false
; => abort the program
7.0 | Maybe({
Assert.IsAlmost(8.0 Break: true)
})
|
[error] Failed assertion IsAlmost, input: 7 expected: 8
[error] Assert.IsAlmost -> Error: Assert failed - IsAlmost, Line: 4, Column: 3
[warning] Maybe shard Ignored an error: Assert failed - IsAlmost, line: 3, column: 7, wire: sample-wire
| ; :Break = `false`, assertion true
; => log no errors and dont abort program
8.0 | Assert.IsAlmost(8.0 Break: false)
|
| ; :Break = `false`, assertion false
; => log assertion error but dont abort program
8.0 | Maybe({
Assert.IsAlmost(7.999 Break: false Threshold: 0.0001)
})
|
[error] Failed assertion IsAlmost, input: 8 expected: 7.999
[error] Assert.IsAlmost -> Error: Assert failed - IsAlmost, Line: 4, Column: 3
[warning] Maybe shard Ignored an error: Assert failed - IsAlmost, line: 3, column: 7, wire: sample-wire