rust_rest_test 0.1.1

An executable that can be used to run "unit tests" on a rust api
pub mod regex_consts;
pub mod types;

use crate::parser::types::SingleLineText;
use crate::tester::Tester;

#[allow(dead_code)]
pub struct ParsingError {
    pub message: String,
    pub filename: String,
    pub line: usize,
}

#[allow(dead_code)]
pub enum Error {
    Parsing(ParsingError),
    Unknown,
}

pub trait Token {
    fn size(&self) -> usize;
}

pub fn collect_single_lines(single_lines: &Vec<SingleLineText>) -> String {
    let lines: Vec<&str> = single_lines
        .iter()
        .map(|sl| sl.get_content().as_str())
        .collect();
    lines.join("\n")
}

pub trait Parser: Sized + Token {
    fn fill_test_info(&self, tester: &mut Tester);
    fn match_token(input: &str) -> Result<Self, ()>;
    fn match_next(&mut self, stack: &mut Vec<(usize, &str)>, input: &str) -> Result<(), ()>;
}