Skip to content

Instantly share code, notes, and snippets.

View SerhiiL-DevBrother's full-sized avatar

Serhii Lypko SerhiiL-DevBrother

  • Tbilisi, Georgia
  • 16:40 (UTC -12:00)
View GitHub Profile
#[cfg(test)]
mod tests {
use super::*;
use std::ffi::CString;
#[test]
fn test_ffi_compile_success() {
let src = CString::new("(+ 1 2)").unwrap();
unsafe {
let result_ptr = metta_compile(src.as_ptr());
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_lexer_basic() {
let mut lexer = Lexer::new("(+ 1 2)");
let tokens = lexer.tokenize().unwrap();
assert_eq!(tokens.len(), 6); // (, +, 1, 2, ), EOF
assert_eq!(tokens[0], Token::LParen);
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_compile_empty_input() {
let result = compile("");
assert!(result.is_ok());
let state = result.unwrap();
assert_eq!(state.pending_exprs.len(), 0);
#[cfg(test)]
mod tests {
use super::*;
use backend::*;
#[test]
fn test_compile_simple() {
let result = compile("(+ 1 2)");
assert!(result.is_ok());
}