Skip to content

Commit 83ed820

Browse files
committed
[#2] Moved tests to their respective files (#11)
closes #2
1 parent b58e8c2 commit 83ed820

File tree

5 files changed

+87
-100
lines changed

5 files changed

+87
-100
lines changed

src/ids/dev_id.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,14 @@ use serde::{Deserialize, Serialize};
66
pub struct DevHead {
77
pub dev_num: Option<u32>,
88
}
9+
10+
#[cfg(test)]
11+
mod tests {
12+
use super::DevHead;
13+
14+
#[test]
15+
fn test_dev_ordering() {
16+
assert!(DevHead { dev_num: Some(0) } > DevHead { dev_num: None });
17+
assert!(DevHead { dev_num: Some(1) } > DevHead { dev_num: Some(0) });
18+
}
19+
}

src/ids/post_id.rs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,31 @@ impl PartialOrd for PostHeader {
4040
}
4141
}
4242
}
43+
44+
#[cfg(test)]
45+
mod tests {
46+
use super::PostHead;
47+
use super::PostHeader;
48+
49+
#[test]
50+
fn test_post_ordering() {
51+
assert!(
52+
PostHeader {
53+
post_head: Some(PostHead::Post),
54+
post_num: Some(0),
55+
} > PostHeader {
56+
post_head: Some(PostHead::Post),
57+
post_num: None,
58+
}
59+
);
60+
assert!(
61+
PostHeader {
62+
post_head: Some(PostHead::Post),
63+
post_num: Some(1),
64+
} > PostHeader {
65+
post_head: Some(PostHead::Post),
66+
post_num: Some(0),
67+
}
68+
);
69+
}
70+
}

src/ids/pre_id.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,24 @@ pub enum PreHeader {
3333
/// ```
3434
ReleaseCandidate(Option<u32>),
3535
}
36+
37+
#[cfg(test)]
38+
mod tests {
39+
use super::PreHeader;
40+
41+
#[test]
42+
fn test_pre_ordering() {
43+
assert!(PreHeader::ReleaseCandidate(None) > PreHeader::Preview(None));
44+
assert!(PreHeader::Preview(None) > PreHeader::Alpha(None));
45+
assert!(PreHeader::Alpha(None) > PreHeader::Beta(None));
46+
47+
assert!(
48+
PreHeader::ReleaseCandidate(Some(2)) > PreHeader::ReleaseCandidate(Some(1))
49+
);
50+
assert!(PreHeader::Preview(Some(50)) > PreHeader::Preview(Some(3)));
51+
assert!(PreHeader::Alpha(Some(504)) > PreHeader::Alpha(Some(0)));
52+
assert!(PreHeader::Beta(Some(1234)) > PreHeader::Beta(Some(1)));
53+
54+
assert!(PreHeader::ReleaseCandidate(Some(1)) > PreHeader::Beta(Some(45067885)));
55+
}
56+
}

src/ids/release_id.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,25 @@ pub struct ReleaseHeader {
88
/// Minor release Such as new functionality
99
pub minor: u32,
1010
}
11+
12+
#[cfg(test)]
13+
mod test {
14+
use super::ReleaseHeader;
15+
16+
#[test]
17+
fn test_release_ordering() {
18+
assert!(
19+
ReleaseHeader { major: 1, minor: 0 } > ReleaseHeader { major: 0, minor: 0 }
20+
);
21+
assert!(
22+
ReleaseHeader { major: 1, minor: 1 } > ReleaseHeader { major: 1, minor: 0 }
23+
);
24+
assert!(
25+
ReleaseHeader { major: 2, minor: 1 }
26+
> ReleaseHeader {
27+
major: 1,
28+
minor: 52,
29+
}
30+
);
31+
}
32+
}

src/lib.rs

Lines changed: 5 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -185,113 +185,18 @@ impl fmt::Display for PackageVersion {
185185

186186
#[cfg(test)]
187187
mod tests {
188-
use std::fmt::Debug;
189-
190188
use crate::PackageVersion;
191-
use anyhow::bail;
192189
use anyhow::Result;
193190

194-
use crate::DevHead;
195-
use crate::PostHead;
196-
use crate::PostHeader;
197-
use crate::PreHeader;
198-
use crate::ReleaseHeader;
199-
200-
fn test_a_greater<T>(a: T, b: T) -> Result<()>
201-
where
202-
T: PartialEq + PartialOrd + Debug,
203-
{
204-
if a <= b {
205-
bail!(
206-
"Failed Less Than or Equal Check for A: {:?} \n<=\n B: {:?}",
207-
a,
208-
b
209-
)
210-
}
211-
Ok(())
212-
}
213-
214191
#[test]
215192
fn test_pep440_ordering() -> Result<()> {
216-
test_a_greater(
193+
assert!(
217194
PackageVersion::new(
218195
"v1!1.0-preview-921.post-516.dev-241+yeah.this.is.the.problem.with.local.versions",
219-
)?,
220-
PackageVersion::new("1.0")?,
221-
)?;
222-
Ok(())
223-
}
224-
225-
#[test]
226-
fn test_release_ordering() -> Result<()> {
227-
test_a_greater(
228-
ReleaseHeader { major: 1, minor: 0 },
229-
ReleaseHeader { major: 0, minor: 0 },
230-
)?;
231-
test_a_greater(
232-
ReleaseHeader { major: 1, minor: 1 },
233-
ReleaseHeader { major: 1, minor: 0 },
234-
)?;
235-
test_a_greater(
236-
ReleaseHeader { major: 2, minor: 1 },
237-
ReleaseHeader {
238-
major: 1,
239-
minor: 52,
240-
},
241-
)?;
242-
Ok(())
243-
}
244-
245-
#[test]
246-
fn test_pre_ordering() -> Result<()> {
247-
test_a_greater(PreHeader::ReleaseCandidate(None), PreHeader::Preview(None))?;
248-
test_a_greater(PreHeader::Preview(None), PreHeader::Alpha(None))?;
249-
test_a_greater(PreHeader::Alpha(None), PreHeader::Beta(None))?;
250-
251-
test_a_greater(
252-
PreHeader::ReleaseCandidate(Some(2)),
253-
PreHeader::ReleaseCandidate(Some(1)),
254-
)?;
255-
test_a_greater(PreHeader::Preview(Some(50)), PreHeader::Preview(Some(3)))?;
256-
test_a_greater(PreHeader::Alpha(Some(504)), PreHeader::Alpha(Some(0)))?;
257-
test_a_greater(PreHeader::Beta(Some(1234)), PreHeader::Beta(Some(1)))?;
258-
259-
test_a_greater(
260-
PreHeader::ReleaseCandidate(Some(1)),
261-
PreHeader::Beta(Some(45067885)),
262-
)?;
263-
Ok(())
264-
}
265-
266-
#[test]
267-
fn test_post_ordering() -> Result<()> {
268-
test_a_greater(
269-
PostHeader {
270-
post_head: Some(PostHead::Post),
271-
post_num: Some(0),
272-
},
273-
PostHeader {
274-
post_head: Some(PostHead::Post),
275-
post_num: None,
276-
},
277-
)?;
278-
test_a_greater(
279-
PostHeader {
280-
post_head: Some(PostHead::Post),
281-
post_num: Some(1),
282-
},
283-
PostHeader {
284-
post_head: Some(PostHead::Post),
285-
post_num: Some(0),
286-
},
287-
)?;
288-
Ok(())
289-
}
290-
291-
#[test]
292-
fn test_dev_ordering() -> Result<()> {
293-
test_a_greater(DevHead { dev_num: Some(0) }, DevHead { dev_num: None })?;
294-
test_a_greater(DevHead { dev_num: Some(1) }, DevHead { dev_num: Some(0) })?;
196+
)?
197+
>
198+
PackageVersion::new("1.0")?
199+
);
295200
Ok(())
296201
}
297202

0 commit comments

Comments
 (0)