use joker_calculus::*; fn main() { let a = jc!("๐Ÿ˜‡"); let b = not(a.clone()); assert_eq!(b.eval_closed(), jc!("๐Ÿ˜ˆ")); let a = jc!("๐Ÿ‘ป"); let b = not(a.clone()); assert_eq!(b.eval_open(), jc!("๐Ÿ‘ฝ")); assert_eq!(b.eval_closed(), jc!("๐Ÿคฅ")); let a = jc!("๐Ÿ‘ฝ"); let b = not(a.clone()); assert_eq!(b.eval_open(), jc!("๐Ÿ‘ป")); assert_eq!(b.eval_closed(), jc!("๐Ÿฅธ")); let a = jc!("๐Ÿคฅ"); let b = not(a.clone()); assert_eq!(b.eval_closed(), jc!("๐Ÿฅธ")); let a = jc!("๐Ÿฅณ"); let b = not(a.clone()); assert_eq!(b.eval_open(), jc!("๐Ÿ‘Ž")); assert_eq!(b.eval_closed(), jc!("๐Ÿ˜‡")); let a = jc!("๐Ÿคฉ"); let b = not(a.clone()); assert_eq!(b.eval_open(), jc!("๐Ÿ‘")); assert_eq!(b.eval_closed(), jc!("๐Ÿ˜ˆ")); let a = jc!("๐Ÿ˜‡" "๐Ÿคกโ†‘"); let b = jc!("๐Ÿ˜‡" "๐Ÿคฅ"); assert_eq!(a, b); let a = jc!(("๐Ÿ˜‡", "๐Ÿ˜ˆ")); assert_eq!(a.eval_closed(), jc!("๐Ÿฅธ")); let a = jc!(("๐Ÿ˜ˆ", "๐Ÿ˜‡")); assert_eq!(a.eval_closed(), jc!("๐Ÿคฅ")); }