1pub mod dublevec;
2pub mod vec2;
3
4#[cfg(test)]
5mod tests {
6 use super::*;
7 use dublevec::DubleVec;
8 use vec2::Vec2;
9
10 #[test]
11 fn assign_works() {
12 let mut vec: DubleVec<i32> = DubleVec::new(Vec2 { x: 5, y: 5 }, 0);
13 vec.assign(5, Vec2 { x: 1, y: 1 }); }
15 #[test]
16 fn access_works() -> Result<(), ()> {
17 let vec: DubleVec<i32> = DubleVec::new(Vec2 { x: 2, y: 2 }, 0);
18 if vec.access(Vec2 { x: 0, y: 1 }).is_some() {
19 Ok(())
20 } else {
21 Err(())
22 }
23 }
24 #[test]
25 fn vec2_works() {
26 assert_eq!(
27 Vec2 { x: 5, y: 5 } * Vec2 { x: 2, y: 2 },
28 Vec2 { x: 10, y: 10 }
29 );
30 }
31 #[test]
32 fn from_works() {
33 let vecvec: Vec<Vec<i32>> = vec![
34 vec![5, 0, 2, 0, 0],
35 vec![1, 2, 0, 0, 0],
36 vec![7, 8, 9, 1, 0],
37 vec![3, 0, 0, 0, 0],
38 vec![4, 4, 4, 0, 3],
39 ];
40 let _dublevec_i32: DubleVec<i32> = DubleVec::from(vecvec);
41 }
42 #[test]
43 fn fmt_works() {
44 let mut dublevec: DubleVec<char> = DubleVec::new(Vec2 { x: 5, y: 5 }, '#');
45 dublevec.assign('*', Vec2 { x: 2, y: 2 });
46 println!("{}", dublevec);
47 }
48}