use async_trait::async_trait;
use futures::StreamExt;
use streamline::{Progress, State, Streamline};
use tokio::runtime::Runtime;
#[test]
fn completes_up() {
struct Context;
#[derive(Clone, Debug, PartialEq)]
enum MyState {
Start,
Middle(String),
End(String),
}
#[async_trait(?Send)]
impl State for MyState {
type Context = Context;
type Error = ();
async fn next(
&self,
_context: Option<&mut Self::Context>,
) -> Result