Skip to content

Commit 44fa364

Browse files
committed
feat: add tests
1 parent 6035f12 commit 44fa364

File tree

2 files changed

+136
-0
lines changed

2 files changed

+136
-0
lines changed

src/coordinate.rs

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,61 @@ macro_rules! coord {
5959
Coordinate::new(vec![$index; $count])
6060
};
6161
}
62+
63+
#[cfg(test)]
64+
mod tests {
65+
use super::*;
66+
67+
#[test]
68+
fn test_len() {
69+
let coord = coord![1, 2, 3];
70+
assert_eq!(coord.len(), 3);
71+
}
72+
73+
#[test]
74+
fn test_iter() {
75+
let coord = coord![1, 2, 3];
76+
let mut iter = coord.iter();
77+
assert_eq!(iter.next(), Some(&1));
78+
assert_eq!(iter.next(), Some(&2));
79+
assert_eq!(iter.next(), Some(&3));
80+
assert_eq!(iter.next(), None);
81+
}
82+
83+
#[test]
84+
fn test_insert() {
85+
let coord = coord![1, 2, 3];
86+
let new_coord = coord.insert(1, 4);
87+
assert_eq!(new_coord, coord![1, 4, 2, 3]);
88+
}
89+
90+
#[test]
91+
fn test_index() {
92+
let coord = coord![1, 2, 3];
93+
assert_eq!(coord[0], 1);
94+
assert_eq!(coord[1], 2);
95+
assert_eq!(coord[2], 3);
96+
}
97+
98+
#[test]
99+
fn test_index_mut() {
100+
let mut coord = coord![1, 2, 3];
101+
coord[1] = 4;
102+
assert_eq!(coord[1], 4);
103+
}
104+
105+
#[test]
106+
fn test_display() {
107+
let coord = coord![1, 2, 3];
108+
assert_eq!(format!("{}", coord), "(1, 2, 3)");
109+
}
110+
111+
#[test]
112+
fn test_coord_macro() {
113+
let coord = coord![1, 2, 3];
114+
assert_eq!(coord, Coordinate::new(vec![1, 2, 3]));
115+
116+
let coord_repeated = coord![1; 3];
117+
assert_eq!(coord_repeated, Coordinate::new(vec![1, 1, 1]));
118+
}
119+
}

src/storage.rs

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,81 @@ impl<'a, T> IntoIterator for &'a mut DynamicStorage<T> {
8585
self.data.iter_mut()
8686
}
8787
}
88+
89+
#[cfg(test)]
90+
mod tests {
91+
use super::*;
92+
93+
#[test]
94+
fn test_iter() {
95+
let storage = DynamicStorage::new(vec![1, 2, 3, 4]);
96+
let mut iter = storage.iter();
97+
assert_eq!(iter.next(), Some(&1));
98+
assert_eq!(iter.next(), Some(&2));
99+
assert_eq!(iter.next(), Some(&3));
100+
assert_eq!(iter.next(), Some(&4));
101+
assert_eq!(iter.next(), None);
102+
}
103+
104+
#[test]
105+
fn test_iter_mut() {
106+
let mut storage = DynamicStorage::new(vec![1, 2, 3, 4]);
107+
{
108+
let mut iter = storage.iter_mut();
109+
if let Some(x) = iter.next() {
110+
*x = 10;
111+
}
112+
}
113+
assert_eq!(storage.data, vec![10, 2, 3, 4]);
114+
}
115+
116+
#[test]
117+
fn test_index() {
118+
let storage = DynamicStorage::new(vec![1, 2, 3, 4]);
119+
assert_eq!(storage[0], 1);
120+
assert_eq!(storage[1], 2);
121+
assert_eq!(storage[2], 3);
122+
assert_eq!(storage[3], 4);
123+
}
124+
125+
#[test]
126+
fn test_index_mut() {
127+
let mut storage = DynamicStorage::new(vec![1, 2, 3, 4]);
128+
storage[0] = 10;
129+
assert_eq!(storage[0], 10);
130+
}
131+
132+
#[test]
133+
fn test_into_iter() {
134+
let storage = DynamicStorage::new(vec![1, 2, 3, 4]);
135+
let mut iter = storage.into_iter();
136+
assert_eq!(iter.next(), Some(1));
137+
assert_eq!(iter.next(), Some(2));
138+
assert_eq!(iter.next(), Some(3));
139+
assert_eq!(iter.next(), Some(4));
140+
assert_eq!(iter.next(), None);
141+
}
142+
143+
#[test]
144+
fn test_into_iter_ref() {
145+
let storage = DynamicStorage::new(vec![1, 2, 3, 4]);
146+
let mut iter = (&storage).into_iter();
147+
assert_eq!(iter.next(), Some(&1));
148+
assert_eq!(iter.next(), Some(&2));
149+
assert_eq!(iter.next(), Some(&3));
150+
assert_eq!(iter.next(), Some(&4));
151+
assert_eq!(iter.next(), None);
152+
}
153+
154+
#[test]
155+
fn test_into_iter_mut() {
156+
let mut storage = DynamicStorage::new(vec![1, 2, 3, 4]);
157+
{
158+
let mut iter = (&mut storage).into_iter();
159+
if let Some(x) = iter.next() {
160+
*x = 10;
161+
}
162+
}
163+
assert_eq!(storage.data, vec![10, 2, 3, 4]);
164+
}
165+
}

0 commit comments

Comments
 (0)