hypercpu 0.0.2

Distributed symbolic computation
Documentation
use hypercpu::prelude::*;


#[tokio::test]
async fn test_add() {
  let a: u8 = 10;
  let b: u8 = 2;

  let c = Add::new(a, b).resolve().await;

  assert_eq!(c, 12);
}

#[tokio::test]
async fn test_sub() {
  let a: u8 = 10;
  let b: u8 = 2;

  let c = Sub::new(a, b).resolve().await;

  assert_eq!(c, 8);
}

#[tokio::test]
async fn test_mul() {
  let a: u8 = 10;
  let b: u8 = 2;

  let c = Mul::new(a, b).resolve().await;

  assert_eq!(c, 20);
}

#[tokio::test]
async fn test_div() {
  let a: u8 = 10;
  let b: u8 = 2;

  let c = Div::new(a, b).resolve().await;

  assert_eq!(c, 5);
}

#[tokio::test]
async fn test_rem() {
  let a: u8 = 10;
  let b: u8 = 2;

  let c = Rem::new(a, b).resolve().await;

  assert_eq!(c, 0);
}

#[tokio::test]
async fn test_nested() {
  let a: u8 = 10;
  let b: u8 = 2;
  let c: u8 = 3;

  let d = Add::new(Mul::new(a, b), c).resolve().await;

  assert_eq!(d, 23);
}

#[tokio::test]
async fn test_nested_2() {
  let a: u8 = 10;
  let b: u8 = 2;
  let c: u8 = 3;

  let d = Add::new(Mul::new(a, b), Mul::new(b, c)).resolve().await;

  assert_eq!(d, 26);
}