pub trait VirtualFs {
// Required methods
fn read_file(&self, path: &Path) -> Result<String>;
fn read_dir(&self, path: &Path) -> Result<Vec<PathBuf>>;
fn is_file(&self, path: &Path) -> bool;
fn is_dir(&self, path: &Path) -> bool;
fn canonicalize_path(&self, path: &PathBuf) -> Result<PathBuf>;
}