type tests to file
This commit is contained in:
37
tests.cpp
Normal file
37
tests.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
function void
|
||||
test_types(){
|
||||
Scratch scratch;
|
||||
Parse_Ctx ctx = {};
|
||||
parse_init(&ctx, scratch, scratch);
|
||||
pctx = &ctx;
|
||||
|
||||
Ast_Type *array_type1 = type_array(type_s64, 1, 32);
|
||||
Ast_Type *array_type2 = type_array(type_s64, 1, 32);
|
||||
Ast_Type *array_type3 = type_array(type_s64, 1, 48);
|
||||
assert(array_type1 == array_type2);
|
||||
assert(array_type2 != array_type3);
|
||||
Ast_Type *pointer_type1 = type_pointer(type_s64);
|
||||
Ast_Type *pointer_type2 = type_pointer(type_s64);
|
||||
assert(pointer_type2 == pointer_type1);
|
||||
Ast_Type *pointer_type3 = type_pointer(pointer_type1);
|
||||
Ast_Type *pointer_type4 = type_pointer(pointer_type2);
|
||||
assert(pointer_type3 != pointer_type1);
|
||||
assert(pointer_type3 == pointer_type4);
|
||||
|
||||
Array<Ast_Type*> types = {scratch};
|
||||
types.add(type_array(type_s64, 1, 32));
|
||||
Ast_Type *func_type1 = type_lambda(0, types[0], types);
|
||||
Ast_Type *func_type2 = type_lambda(0, types[0], types);
|
||||
assert(func_type1 == func_type2);
|
||||
|
||||
Array<Ast_Type*> types2 = {scratch};
|
||||
{
|
||||
types2.add(type_array(type_s64, 1, 32));
|
||||
types2.add(type_s64);
|
||||
}
|
||||
types.add(type_s64);
|
||||
Ast_Type *func_type3 = type_lambda(0, types[0], types);
|
||||
Ast_Type *func_type4 = type_lambda(0, types[0], types2);
|
||||
assert(func_type1 != func_type3);
|
||||
assert(func_type3 == func_type4);
|
||||
}
|
||||
Reference in New Issue
Block a user