use std::fs::File;
use std::io;
use std::io::{BufWriter, Write};
use crate::formulas::{EncodedFormula, FormulaFactory};
pub fn write_formula(file_path: &str, formula: EncodedFormula, f: &FormulaFactory) -> io::Result<()> {
let file = File::create(file_path)?;
let mut writer = BufWriter::new(file);
if formula.is_and() {
for op in &*formula.operands(f) {
writer.write_all(op.to_string(f).as_bytes())?;
writer.write_all(b"\n")?;
}
} else {
writer.write_all(formula.to_string(f).as_bytes())?;
}
writer.flush()
}