2020-12-20 00:11:39 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
from pybind11_tests import smart_ptr_private_first_base as m
|
|
|
|
|
2020-12-22 20:18:47 +00:00
|
|
|
|
|
|
|
def test_make_drvd_pass_base():
|
2020-12-20 00:11:39 +00:00
|
|
|
d = m.make_shared_drvd()
|
|
|
|
i = m.pass_shared_base(d)
|
|
|
|
assert i == 200
|
2020-12-22 20:18:47 +00:00
|
|
|
|
|
|
|
|
|
|
|
def test_make_drvd_up_cast_pass_drvd():
|
|
|
|
b = m.make_shared_drvd_up_cast()
|
2020-12-24 11:56:48 +00:00
|
|
|
# the base return is down-cast immediately.
|
2020-12-22 20:18:47 +00:00
|
|
|
assert b.__class__.__name__ == "drvd"
|
|
|
|
i = m.pass_shared_drvd(b)
|
|
|
|
assert i == 200
|