Commit dc6c5cd9 authored by Jindřich Moravec's avatar Jindřich Moravec 🐈
Browse files

docs: add documentation to asserts

parent 1223131f
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
//! # Math Asserts
//! Asserts for `Vector3` and `Quaternion` useful for testing.
//!
//! ## Example
//! ```
//! use mather::asserts::*;
//! use mather::Vector3;
//!
//! let expected = Vector3::new(1.0, 2.0, 3.0);
//! let actual = Vector3::new(1.0, 2.0, 3.0);
//! assert_vectors(expected, actual);
//! ```

use crate::{Quaternion, Vector3};

/// Compares vectors with epsilon of 1e-6.
pub fn assert_vectors(expected: Vector3, actual: Vector3) {
    assert_vectors_close(expected, actual, 1e-6);
}

/// Compares vectors with given epsilon.
pub fn assert_vectors_close(expected: Vector3, actual: Vector3, eps: f64) {
    assert!(
        (expected.x() - actual.x()).abs() < eps,
@@ -25,10 +40,12 @@ pub fn assert_vectors_close(expected: Vector3, actual: Vector3, eps: f64) {
    );
}

/// Compares quaternions with epsilon of 1e-6.
pub fn assert_quaternion(expected: Quaternion, actual: Quaternion) {
    assert_quaternion_close(expected, actual, 1e-6);
}

/// Compares quaternions with given epsilon.
pub fn assert_quaternion_close(expected: Quaternion, actual: Quaternion, eps: f64) {
    assert!(
        (expected.x() - actual.x()).abs() < eps,