use hypercpu::prelude::*;
use hypercpu::cond::If;
#[tokio::test]
async fn operations() {
let a = Value::new(1);
let a = a + 1;
assert_eq!(a.resolve().await, 2);
}
#[tokio::test]
async fn compound() {
let a = Value::new(1);
let a = a + 20;
let a = a * 30;
let a = a - 10;
assert_eq!(a.resolve().await, 620);
}
#[tokio::test]
async fn compound_if() {
let a = Value::new(1);
let a = If::new(1 % 2 == 0, a.clone() + 10, a + 20);
let a = a * 30;
let a = a - 10;
let a = a.resolve().await;
assert_eq!(a.to_otherwise().await, Some(620));
}