aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml2
-rw-r--r--tests/smoke.rs36
-rw-r--r--tests/with_map.rs33
3 files changed, 42 insertions, 29 deletions
diff --git a/Cargo.toml b/Cargo.toml
index bb0fb84..de8f86d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,5 +1,5 @@
1[package] 1[package]
2name = "currying" 2name = "cutlass"
3version = "0.1.0" 3version = "0.1.0"
4authors = ["Akshay <[email protected]>"] 4authors = ["Akshay <[email protected]>"]
5edition = "2018" 5edition = "2018"
diff --git a/tests/smoke.rs b/tests/smoke.rs
index 059cf9f..a9ee367 100644
--- a/tests/smoke.rs
+++ b/tests/smoke.rs
@@ -1,33 +1,13 @@
1#![feature(type_alias_impl_trait)] 1#![feature(type_alias_impl_trait)]
2 2
3pub mod helper_functions { 3#[cutlass::curry]
4 use currying::curry; 4fn add(x: u32, y: u32, z: u32) -> u32 {
5 5 return x + y + z;
6 #[curry]
7 pub fn product(x: u32, y: u32) -> u32 {
8 return x * y;
9 }
10 #[curry]
11 pub fn add(x: u32, y: u32) -> u32 {
12 x + y
13 }
14} 6}
15 7
16#[cfg(test)] 8#[test]
17mod tests { 9fn add_works() {
18 use super::helper_functions::{add, product}; 10 let plus_3 = add(1)(2);
19 #[test] 11 let v: Vec<u32> = (1..=3).map(plus_3).collect();
20 fn test_product() { 12 assert_eq!(v, vec![4, 5, 6]);
21 assert_eq!(
22 (1..=3).map(product(5)).collect::<Vec<u32>>(),
23 vec![5, 10, 15]
24 );
25 }
26
27 #[test]
28 fn test_add() {
29 let increment = add(1);
30 let v: Vec<u32> = (1..=3).map(increment).collect();
31 assert_eq!(v, vec![2, 3, 4]);
32 }
33} 13}
diff --git a/tests/with_map.rs b/tests/with_map.rs
new file mode 100644
index 0000000..141ee5d
--- /dev/null
+++ b/tests/with_map.rs
@@ -0,0 +1,33 @@
1#![feature(type_alias_impl_trait)]
2
3pub mod helper_functions {
4 use cutlass::curry;
5
6 #[curry]
7 pub fn product(x: u32, y: u32) -> u32 {
8 return x * y;
9 }
10 #[curry]
11 pub fn add(x: u32, y: u32) -> u32 {
12 x + y
13 }
14}
15
16#[cfg(test)]
17mod tests {
18 use super::helper_functions::{add, product};
19 #[test]
20 fn test_product() {
21 assert_eq!(
22 (1..=3).map(product(5)).collect::<Vec<u32>>(),
23 vec![5, 10, 15]
24 );
25 }
26
27 #[test]
28 fn test_add() {
29 let increment = add(1);
30 let v: Vec<u32> = (1..=3).map(increment).collect();
31 assert_eq!(v, vec![2, 3, 4]);
32 }
33}