#![allow(
clippy::float_cmp,
reason = "each assertion reads back an exact value just written, with no arithmetic between"
)]
use geometry_adapt_nalgebra::{NaPoint2, NaPoint3, NaVector2, NaVector3};
use geometry_trait::{Point as _, PointMut as _};
use nalgebra::{Point2, Point3, Vector2, Vector3};
#[test]
fn na_point2_set_get_and_unwrap() {
let mut p = NaPoint2::new(Point2::new(0.0_f64, 0.0));
p.set::<0>(3.0);
p.set::<1>(4.0);
assert_eq!(p.get::<0>(), 3.0);
assert_eq!(p.get::<1>(), 4.0);
let inner = p.into_inner();
assert_eq!(inner, Point2::new(3.0, 4.0));
}
#[test]
fn na_point3_set_get_and_unwrap() {
let mut p = NaPoint3::new(Point3::new(0.0_f64, 0.0, 0.0));
p.set::<0>(1.0);
p.set::<1>(2.0);
p.set::<2>(3.0);
assert_eq!((p.get::<0>(), p.get::<1>(), p.get::<2>()), (1.0, 2.0, 3.0));
assert_eq!(p.into_inner(), Point3::new(1.0, 2.0, 3.0));
}
#[test]
fn na_vector2_set_get_and_unwrap() {
let mut v = NaVector2::new(Vector2::new(0.0_f64, 0.0));
v.set::<0>(5.0);
v.set::<1>(6.0);
assert_eq!((v.get::<0>(), v.get::<1>()), (5.0, 6.0));
assert_eq!(v.into_inner(), Vector2::new(5.0, 6.0));
}
#[test]
fn na_vector3_set_get_and_unwrap() {
let mut v = NaVector3::new(Vector3::new(0.0_f64, 0.0, 0.0));
v.set::<0>(7.0);
v.set::<1>(8.0);
v.set::<2>(9.0);
assert_eq!((v.get::<0>(), v.get::<1>(), v.get::<2>()), (7.0, 8.0, 9.0));
assert_eq!(v.into_inner(), Vector3::new(7.0, 8.0, 9.0));
}