use std::collections::HashMap;
use polenta::{Polenta, PolentaError, PolentaUtilExt};
type F = lambdaworks_math::field::fields::u64_goldilocks_field::Goldilocks64Field;
pub fn run_test_for_assert(input: &str) -> () {
Polenta::<F>::new()
.interpret(input)
.expect("should interpret");
}
pub fn run_test_for_error(input: &str) -> PolentaError {
let result = Polenta::<F>::new().interpret(input);
return result.expect_err("should return error");
}
pub fn run_test(input: &str) -> HashMap<String, String> {
let mut polenta = Polenta::<F>::new();
polenta.interpret(input).expect("should interpret"); polenta
.symbols
.into_iter()
.map(|(k, v)| (k, Polenta::poly_print(&v)))
.collect()
}
pub fn run_test_for_symbols(input: &str, expected_symbol_prints: Vec<(&str, &str)>) {
let symbols = run_test(input);
for (key, expected_value) in expected_symbol_prints {
let value = symbols.get(key).unwrap();
assert_eq!(value, expected_value);
}
}