more composition tests
This commit is contained in:
parent
3c7b122b2a
commit
02550c0ded
@ -15,3 +15,7 @@ export LLVM_PROFILE_FILE="prof/%p-%m.profraw"
|
|||||||
```sh
|
```sh
|
||||||
./coverage.sh
|
./coverage.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
clear && npx http-server -p 1337 ./target/debug/coverage
|
||||||
|
```
|
||||||
|
@ -181,7 +181,9 @@ impl<'a, U: SharedFunctor<'a> + Functor<'a>, V: SharedFunctor<'a>> SharedFunctor
|
|||||||
mod composition_tests {
|
mod composition_tests {
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use crate::func::instances::{option::*, result::*, tryfuture::TryFutureInstance};
|
use crate::func::instances::{
|
||||||
|
option::*, result::*, solo::SoloInstance, tryfuture::TryFutureInstance,
|
||||||
|
};
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@ -261,4 +263,27 @@ mod composition_tests {
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
assert!(matches!(res, Selected::B(_, 2)));
|
assert!(matches!(res, Selected::B(_, 2)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn solo_composable() {
|
||||||
|
test_suite::monad_follows_laws::<CompositionInstance<SoloInstance, SoloInstance>>()
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn composition_composable() {
|
||||||
|
test_suite::monad_follows_laws::<
|
||||||
|
CompositionInstance<
|
||||||
|
CompositionInstance<SoloInstance, SoloInstance>,
|
||||||
|
CompositionInstance<SoloInstance, SoloInstance>,
|
||||||
|
>,
|
||||||
|
>()
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn option_composable() {
|
||||||
|
test_suite::monad_follows_laws::<CompositionInstance<OptionInstance, OptionInstance>>()
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user