diff options
Diffstat (limited to 'test/test_typeinfo.cc')
-rw-r--r-- | test/test_typeinfo.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/test/test_typeinfo.cc b/test/test_typeinfo.cc index 6d2fbdd..9fc8ef7 100644 --- a/test/test_typeinfo.cc +++ b/test/test_typeinfo.cc @@ -79,6 +79,7 @@ void test_type_info(void) Root *b2 = &root; Root *v1 = &virt1; Virt1 *d1 = ⋄ + Root *up = ⋄ b->test = 12; f->test = 12; b2->test = 12; @@ -103,6 +104,8 @@ void test_type_info(void) d2->test = 12; TEST(12 == dynamic_cast<Diamond2*>(d2)->test, "Casting Diamond2 to Diamond2"); TEST(12 == dynamic_cast<Virt2a*>(d2)->test, "Casting Diamond2 to Virt2a"); + TEST(&diamond == dynamic_cast<Diamond*>(up), "Downcasting root-pointer to diamond"); + TEST(0 == dynamic_cast<Diamond*>(&root), "Downcasting root to diamond"); TEST(0 == dynamic_cast<Sub1*>(b2), "Casting Root to Sub1 (0 expected)"); } |