use super::{Tensor, TensorRank0};
use crate::{ABS_TOL, REL_TOL};
#[test]
fn tensor_rank_0() {
let _: TensorRank0;
}
#[test]
fn clone() {
let a: TensorRank0 = 1.0;
let b = a;
assert_eq!(a, b);
}
#[test]
fn add() {
let a: TensorRank0 = 1.0;
let b: TensorRank0 = 2.0;
assert_eq!(a + b, 3.0);
}
#[test]
fn error() {
let a: TensorRank0 = 1.0;
let b: TensorRank0 = 1.0;
let c: TensorRank0 = 2.0;
assert_eq!(a.error_count(&b, ABS_TOL, REL_TOL), None);
assert_eq!(a.error_count(&c, ABS_TOL, REL_TOL), Some(1));
}
#[test]
fn subtract() {
let a: TensorRank0 = 1.0;
let b: TensorRank0 = 2.0;
assert_eq!(a - b, -1.0);
}
#[test]
fn multiply() {
let a: TensorRank0 = 1.0;
let b: TensorRank0 = 2.0;
assert_eq!(a * b, 2.0);
}
#[test]
fn divide() {
let a: TensorRank0 = 1.0;
let b: TensorRank0 = 2.0;
assert_eq!(a / b, 0.5);
}
#[test]
fn size() {
assert_eq!(
std::mem::size_of::<TensorRank0>(),
std::mem::size_of::<f64>()
)
}