std/testing
Test assertion helpers. Plain assert(cond) is a builtin and needs no import.
milo
from "std/testing" import { assertEqual, assertStrEqual }API reference
assertBool
milo
pub fn assertBool(got: bool, expected: bool): voidAssert two booleans are equal.
assertContains
milo
pub fn assertContains(haystack: &string, needle: &string): voidassertEq
milo
pub fn assertEq<T>(got: &T, expected: &T): voidThe general equality assertion: works for any type == accepts, and prints both sides. Prefer this over the width-specific helpers below, which predate it.
assertEqual
milo
pub fn assertEqual(got: i32, expected: i32): voidAssert two i32 values are equal.
assertEqual64
milo
pub fn assertEqual64(got: i64, expected: i64): voidAssert two i64 values are equal.
assertFalse
milo
pub fn assertFalse(cond: bool): voidassertMsg
milo
pub fn assertMsg(cond: bool, msg: string): voidAbort with msg if cond is false.
assertNe
milo
pub fn assertNe<T>(got: &T, unexpected: &T): voidassertNear
milo
pub fn assertNear(got: f64, expected: f64, tolerance: f64): voidFloats: never compare with ==. 0.1 + 0.2 != 0.3 in binary floating point, so an exact assertion on computed floats fails for a program that is correct.
assertStrEqual
milo
pub fn assertStrEqual(got: &string, expected: &string): voidAssert two strings are equal.
assertTrue
milo
pub fn assertTrue(cond: bool): voidassertVecEq
milo
pub fn assertVecEq<T>(got: &Vec<T>, expected: &Vec<T>): void