expectApproxEqAbs
This function is intended to be used only in tests. When the actual value is
not approximately equal to the expected value, prints diagnostics to stderr
to show exactly how they are not equal, then returns a test failure error.
See math.approxEqAbs for more information on the tolerance parameter.
The types must be floating-point.
actual and expected are coerced to a common type using peer type resolution.
Function parameters
Parameters
- expected:anytype
- actual:anytype
- tolerance:anytype
Type definitions in this namespace
Types
- Reader
- A `std.Io.Reader` that writes a predetermined list of buffers during `stream`.
- ReaderIndirect
- A `std.Io.Reader` that gets its data from another `std.Io.Reader`, and always
This function is intended to be used only in tests.
Functions
- expectError
- This function is intended to be used only in tests.
- expectEqual
- This function is intended to be used only in tests.
- expectFmt
- This function is intended to be used only in tests.
- expectApproxEqAbs
- This function is intended to be used only in tests.
- expectApproxEqRel
- This function is intended to be used only in tests.
- expectEqualSlices
- This function is intended to be used only in tests.
- expectEqualSentinel
- This function is intended to be used only in tests.
- expect
- This function is intended to be used only in tests.
- expectEqualDeep
- This function is intended to be used only in tests.
- checkAllAllocationFailures
- Exhaustively check that allocation failures within `test_fn` are handled without
- refAllDecls
- Given a type, references all the declarations inside, so that the semantic analyzer sees them.
- refAllDeclsRecursive
- Given a type, recursively references all the declarations inside, so that the semantic analyzer sees them.
- fuzz
- Inline to avoid coverage instrumentation.
Provides deterministic randomness in unit tests.
Values
- random_seed
- Provides deterministic randomness in unit tests.
- failing_allocator
- = failing_allocator_instance.allocator()
- allocator
- This should only be used in temporary test programs.
- log_level
- TODO https://github.com/ziglang/zig/issues/5738
- backend_can_print
- = switch (builtin.zig_backend) { .stage2_aarch64, .stage2_powerpc, .stage2_riscv64, .stage2_spirv, => false, else => true, }
Source
Implementation
pub inline fn expectApproxEqAbs(expected: anytype, actual: anytype, tolerance: anytype) !void {
const T = @TypeOf(expected, actual, tolerance);
return expectApproxEqAbsInner(T, expected, actual, tolerance);
}