hyeong 0.1.0

Hyeo-ung Programming Language Compiler
Documentation
#[cfg(test)]
mod execute_test {
    use hyeong::state::UnOptState;
    use hyeong::{execute, io, parse};

    fn helper_function(code: &str, stdin: &str, stdout: &str, stderr: &str) {
        let parsed = parse::parse(code.to_string());
        let mut ipt = io::CustomReader::new(stdin.to_string());
        let mut out = io::CustomWriter::new(|_| Result::Ok(()));
        let mut err = io::CustomWriter::new(|_| Result::Ok(()));
        let mut state = UnOptState::new();

        for c in parsed {
            state = execute::execute(&mut ipt, &mut out, &mut err, state, &c);
        }

        assert_eq!(stdout.to_string(), out.to_string());
        assert_eq!(stderr.to_string(), err.to_string());
    }

    #[test]
    fn execute_test01() {
        helper_function("혀어어어어어어엉......핫.", "", "0", "");
    }

    #[test]
    fn execute_test02() {
        helper_function("혀어어어어어어어엉........ 핫. 혀엉..... 흑... 하앗... 흐윽... 형.  하앙.혀엉.... 하앙... 흐윽... 항. 항. 형... 하앙. 흐으윽... 형... 흡... 혀엉..하아아앗. 혀엉.. 흡... 흐읍... 형.. 하앗. 하아앙... 형... 하앙... 흐윽...혀어어엉.. 하앙. 항. 형... 하앙. 혀엉.... 하앙. 흑... 항. 형... 흡  하앗.", "", "Hello, world!", "");
    }

    #[test]
    fn execute_test03() {
        helper_function("혀어어어엉.. 흐으으윽... 하앗... 형.. 하앙. 하앗... 형. 혀어어엉.... 하아앙. 혀어엉... 흐윽.... 형.. 하앙.... 하앗.... 흐윽.... 핫. 혀엉.... 하앙. 혀어어엉.. 혀엉.. 하앗. 혀어어어엉.. 형. 하앙.... 흐윽.... 하앗. 혀엉..... 흐으윽... 하앗... 형. 하아앙. 혀엉..... 흐으윽... 하앗... 혀어어어어어엉. 하아앙.", "", "fuck you", "");
    }

    #[test]
    fn execute_test04() {
        helper_function("혀어어어어어어엉......핫.. 혀어어어어어어어엉........ 핫. 혀어어어어어어어엉......... 핫..", "", "H", "0Q");
    }

    #[test]
    fn execute_test05() {
        helper_function(
            "형 흣........💕 흣.... 형. 하앙... 흣. 흑... 흐읏....!💕",
            "",
            "12345678",
            "",
        );
    }

    #[test]
    fn execute_test06() {
        helper_function("형. 흣..", "", "", "1");
    }

    #[test]
    fn execute_test07() {
        helper_function(
            "형. 형.. 형. 흑...💘 항.... 하앙... 항...♡ 흑...💘 ! 흣...흑.",
            "",
            "4",
            "",
        );
    }
}