Basic typing test

This commit is contained in:
greg 2017-10-09 12:26:25 -07:00
parent a0faed3603
commit b417451536
1 changed files with 22 additions and 0 deletions

View File

@ -211,3 +211,25 @@ impl TypeContext {
}
}
#[cfg(test)]
mod tests {
use super::{TypeContext, TypeVariable, UVar};
use super::TypeVariable::*;
use schala_lang::parsing::{parse, tokenize};
macro_rules! type_test {
($input:expr, $correct:expr) => {
{
let mut tc = TypeContext::new();
let ast = parse(tokenize($input)).0.unwrap() ;
assert_eq!($correct, tc.type_check(&ast).unwrap())
}
}
}
#[test]
fn basic_inference() {
type_test!("30", Univ(UVar::Integer))
}
}