1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#include "reflection.h"
#include "unit.h"
static struct type type_Object = {
.parent = NULL,
.name = "Object",
.methods = NULL,
};
static struct type type_Database = {
.parent = &type_Object,
.name = "Database",
.methods = NULL,
};
static struct type type_Tarantool = {
.parent = &type_Database,
.name = "Tarantool",
.methods = NULL
};
int
main()
{
plan(4);
/* inheritance */
ok(type_assignable(&type_Object, &type_Tarantool), "assignable");
ok(type_assignable(&type_Database, &type_Tarantool), "assignable");
ok(type_assignable(&type_Tarantool, &type_Tarantool), "assignable");
ok(!type_assignable(&type_Tarantool, &type_Database), "assignable");
return check_plan();
}
|