1use this_me::kernel::{Kernel, Value};
2
3fn run() -> Result<(), Box<dyn std::error::Error>> {
4 let mut me = Kernel::new();
5
6 me.postulate("profile.name", "Jabellae")?;
7 me.postulate("wallet.income", 100_u64)?;
8 me.postulate("wallet.expenses", 40_u64)?;
9 me.derive("", "wallet.total", "wallet.income - wallet.expenses")?;
10
11 assert_eq!(me.read("wallet.total"), Some(&Value::from(60_u64)));
12 println!("wallet.total = {:?}", me.read("wallet.total"));
13
14 Ok(())
15}
16
17fn main() -> Result<(), Box<dyn std::error::Error>> {
18 run()
19}
20
21#[test]
22fn example_runs() {
23 run().unwrap();
24}