aboutsummaryrefslogtreecommitdiff
path: root/rust/prime-factors/tests/prime-factors.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/prime-factors/tests/prime-factors.rs')
-rw-r--r--rust/prime-factors/tests/prime-factors.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/rust/prime-factors/tests/prime-factors.rs b/rust/prime-factors/tests/prime-factors.rs
new file mode 100644
index 0000000..1042415
--- /dev/null
+++ b/rust/prime-factors/tests/prime-factors.rs
@@ -0,0 +1,36 @@
1use prime_factors::factors;
2
3#[test]
4fn test_no_factors() {
5 assert_eq!(factors(1), vec![]);
6}
7
8#[test]
9fn test_prime_number() {
10 assert_eq!(factors(2), vec![2]);
11}
12
13#[test]
14fn test_square_of_a_prime() {
15 assert_eq!(factors(9), vec![3, 3]);
16}
17
18#[test]
19fn test_cube_of_a_prime() {
20 assert_eq!(factors(8), vec![2, 2, 2]);
21}
22
23#[test]
24fn test_product_of_primes_and_non_primes() {
25 assert_eq!(factors(12), vec![2, 2, 3]);
26}
27
28#[test]
29fn test_product_of_primes() {
30 assert_eq!(factors(901_255), vec![5, 17, 23, 461]);
31}
32
33#[test]
34fn test_factors_include_large_prime() {
35 assert_eq!(factors(93_819_012_551), vec![11, 9539, 894_119]);
36}