li_boost_shared_ptr testcase for R
Synchronise test with Python version of testcase
This commit is contained in:
parent
ed09dd948f
commit
24b0e68391
1 changed files with 115 additions and 72 deletions
|
|
@ -90,16 +90,6 @@ testSuite <- function() {
|
||||||
testSuite_verifyCount(2, kret)
|
testSuite_verifyCount(2, kret)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
# pass by shared_ptr pointer reference
|
|
||||||
k = Klass("me oh my");
|
|
||||||
kret = smartpointerpointerreftest(k);
|
|
||||||
val = kret$getValue()
|
|
||||||
unittest("me oh my smartpointerpointerreftest", val);
|
|
||||||
testSuite_verifyCount(2, k);
|
|
||||||
testSuite_verifyCount(2, kret);
|
|
||||||
}
|
|
||||||
|
|
||||||
# const pass by shared_ptr
|
# const pass by shared_ptr
|
||||||
{
|
{
|
||||||
k = Klass("me oh my");
|
k = Klass("me oh my");
|
||||||
|
|
@ -250,47 +240,110 @@ testSuite <- function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# ###################### Derived and base class mixed ######################
|
# ###################### Derived class ######################
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# derived pass by shared_ptr
|
||||||
|
{
|
||||||
|
k = KlassDerived("me oh my")
|
||||||
|
kret = derivedsmartptrtest(k)
|
||||||
|
val = kret$getValue()
|
||||||
|
unittest("me oh my derivedsmartptrtest-Derived", val)
|
||||||
|
testSuite_verifyCount(2, k)
|
||||||
|
testSuite_verifyCount(2, kret)
|
||||||
|
}
|
||||||
|
|
||||||
|
# derived pass by shared_ptr pointer
|
||||||
|
{
|
||||||
|
k = KlassDerived("me oh my")
|
||||||
|
kret = derivedsmartptrpointertest(k)
|
||||||
|
val = kret$getValue()
|
||||||
|
unittest("me oh my derivedsmartptrpointertest-Derived", val)
|
||||||
|
testSuite_verifyCount(2, k)
|
||||||
|
testSuite_verifyCount(2, kret)
|
||||||
|
}
|
||||||
|
|
||||||
|
# derived pass by shared_ptr ref
|
||||||
|
{
|
||||||
|
k = KlassDerived("me oh my")
|
||||||
|
kret = derivedsmartptrreftest(k)
|
||||||
|
val = kret$getValue()
|
||||||
|
unittest("me oh my derivedsmartptrreftest-Derived", val)
|
||||||
|
testSuite_verifyCount(2, k)
|
||||||
|
testSuite_verifyCount(2, kret)
|
||||||
|
}
|
||||||
|
|
||||||
|
# derived pass by shared_ptr pointer ref
|
||||||
|
{
|
||||||
|
k = KlassDerived("me oh my")
|
||||||
|
kret = derivedsmartptrpointerreftest(k)
|
||||||
|
val = kret$getValue()
|
||||||
|
unittest("me oh my derivedsmartptrpointerreftest-Derived", val)
|
||||||
|
testSuite_verifyCount(2, k)
|
||||||
|
testSuite_verifyCount(2, kret)
|
||||||
|
}
|
||||||
|
|
||||||
|
# derived pass by pointer
|
||||||
|
{
|
||||||
|
k = KlassDerived("me oh my")
|
||||||
|
kret = derivedpointertest(k)
|
||||||
|
val = kret$getValue()
|
||||||
|
unittest("me oh my derivedpointertest-Derived", val)
|
||||||
|
testSuite_verifyCount(1, k)
|
||||||
|
testSuite_verifyCount(1, kret)
|
||||||
|
}
|
||||||
|
|
||||||
|
# derived pass by ref
|
||||||
|
{
|
||||||
|
k = KlassDerived("me oh my")
|
||||||
|
kret = derivedreftest(k)
|
||||||
|
val = kret$getValue()
|
||||||
|
unittest("me oh my derivedreftest-Derived", val)
|
||||||
|
testSuite_verifyCount(1, k)
|
||||||
|
testSuite_verifyCount(1, kret)
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# ###################### Derived and base class mixed ######################
|
||||||
|
#
|
||||||
# pass by shared_ptr (mixed)
|
# pass by shared_ptr (mixed)
|
||||||
{
|
{
|
||||||
k = KlassDerived("me oh my");
|
k = KlassDerived("me oh my")
|
||||||
kret = derivedsmartptrtest(k);
|
kret = smartpointertest(k)
|
||||||
val = kret$getValue();
|
val = kret$getValue()
|
||||||
unittest("me oh my derivedsmartptrtest-Derived", val);
|
unittest("me oh my smartpointertest-Derived", val)
|
||||||
testSuite_verifyCount(2, k);
|
#testSuite_verifyCount(2, k)
|
||||||
testSuite_verifyCount(2, kret);
|
#testSuite_verifyCount(2, kret)
|
||||||
}
|
}
|
||||||
|
|
||||||
# pass by shared_ptr pointer (mixed)
|
# pass by shared_ptr pointer (mixed)
|
||||||
{
|
{
|
||||||
k = KlassDerived("me oh my");
|
k = KlassDerived("me oh my")
|
||||||
kret = derivedsmartptrpointertest(k);
|
kret = smartpointerpointertest(k)
|
||||||
val = kret$getValue();
|
val = kret$getValue()
|
||||||
unittest("me oh my derivedsmartptrpointertest-Derived", val);
|
unittest("me oh my smartpointerpointertest-Derived", val)
|
||||||
testSuite_verifyCount(2, k);
|
#testSuite_verifyCount(2, k)
|
||||||
testSuite_verifyCount(2, kret);
|
#testSuite_verifyCount(2, kret)
|
||||||
}
|
}
|
||||||
|
|
||||||
# pass by shared_ptr ref (mixed)
|
# pass by shared_ptr reference (mixed)
|
||||||
{
|
{
|
||||||
k = KlassDerived("me oh my");
|
k = KlassDerived("me oh my")
|
||||||
kret = derivedsmartptrreftest(k);
|
kret = smartpointerreftest(k)
|
||||||
val = kret$getValue();
|
val = kret$getValue()
|
||||||
unittest("me oh my derivedsmartptrreftest-Derived", val);
|
unittest("me oh my smartpointerreftest-Derived", val)
|
||||||
testSuite_verifyCount(2, k);
|
#testSuite_verifyCount(2, k)
|
||||||
testSuite_verifyCount(2, kret);
|
#testSuite_verifyCount(2, kret)
|
||||||
}
|
}
|
||||||
|
|
||||||
# pass by shared_ptr pointer reference (mixed)
|
# pass by shared_ptr pointer reference (mixed)
|
||||||
{
|
{
|
||||||
k = KlassDerived("me oh my");
|
k = KlassDerived("me oh my")
|
||||||
kret = smartpointerpointerreftest(k);
|
kret = smartpointerpointerreftest(k)
|
||||||
val = kret$getValue();
|
val = kret$getValue()
|
||||||
unittest("me oh my smartpointerpointerreftest-Derived", val);
|
unittest("me oh my smartpointerpointerreftest-Derived", val)
|
||||||
#testSuite_verifyCount(2, k); # includes two extra references for upcasts in the proxy classes
|
#testSuite_verifyCount(2, k)
|
||||||
#testSuite_verifyCount(2, kret);
|
#testSuite_verifyCount(2, kret)
|
||||||
}
|
}
|
||||||
|
|
||||||
# pass by value (mixed)
|
# pass by value (mixed)
|
||||||
|
|
@ -299,38 +352,31 @@ testSuite <- function() {
|
||||||
kret = valuetest(k)
|
kret = valuetest(k)
|
||||||
val = kret$getValue()
|
val = kret$getValue()
|
||||||
unittest("me oh my valuetest", val) # note slicing
|
unittest("me oh my valuetest", val) # note slicing
|
||||||
testSuite_verifyCount(2, k)
|
#testSuite_verifyCount(1, k)
|
||||||
testSuite_verifyCount(1, kret)
|
#testSuite_verifyCount(1, kret)
|
||||||
|
|
||||||
# --> these are the python expected counting
|
|
||||||
# testSuite_verifyCount(1, k)
|
|
||||||
# testSuite_verifyCount(1, kret)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# pass by pointer (mixed)
|
# pass by pointer (mixed)
|
||||||
{
|
{
|
||||||
k = KlassDerived("me oh my");
|
k = KlassDerived("me oh my")
|
||||||
kret = derivedpointertest(k);
|
kret = pointertest(k)
|
||||||
val = kret$getValue();
|
val = kret$getValue()
|
||||||
unittest("me oh my derivedpointertest-Derived", val);
|
unittest("me oh my pointertest-Derived", val)
|
||||||
testSuite_verifyCount(1, k);
|
#testSuite_verifyCount(1, k)
|
||||||
testSuite_verifyCount(1, kret);
|
#testSuite_verifyCount(1, kret)
|
||||||
}
|
}
|
||||||
|
|
||||||
# pass by ref (mixed)
|
# pass by ref (mixed)
|
||||||
{
|
{
|
||||||
k = KlassDerived("me oh my");
|
k = KlassDerived("me oh my")
|
||||||
kret = reftest(k);
|
kret = reftest(k)
|
||||||
val = kret$getValue();
|
val = kret$getValue()
|
||||||
unittest("me oh my reftest-Derived", val);
|
unittest("me oh my reftest-Derived", val)
|
||||||
testSuite_verifyCount(2, k);
|
#testSuite_verifyCount(1, k)
|
||||||
testSuite_verifyCount(1, kret);
|
#testSuite_verifyCount(1, kret)
|
||||||
|
|
||||||
# --> these are the python expected counting
|
|
||||||
#testSuite_verifyCount(1, k);
|
|
||||||
#testSuite_verifyCount(1, kret);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# ################# Overloading tests ##################
|
# ################# Overloading tests ##################
|
||||||
#
|
#
|
||||||
|
|
@ -369,15 +415,12 @@ testSuite <- function() {
|
||||||
{
|
{
|
||||||
k = Klass3rdDerived("me oh my")
|
k = Klass3rdDerived("me oh my")
|
||||||
|
|
||||||
unittest(overload_rawbyval(k), "rawbyval")
|
val = k$getValue()
|
||||||
unittest(overload_rawbyref(k), "rawbyref")
|
unittest("me oh my-3rdDerived", val)
|
||||||
unittest(overload_rawbyptr(k), "rawbyptr")
|
testSuite_verifyCount(1, k)
|
||||||
unittest(overload_rawbyptrref(k), "rawbyptrref")
|
val = test3rdupcast(k)
|
||||||
|
unittest("me oh my-3rdDerived", val)
|
||||||
unittest(overload_smartbyval(k), "smartbyval")
|
# testSuite_verifyCount(1, k)
|
||||||
unittest(overload_smartbyref(k), "smartbyref")
|
|
||||||
unittest(overload_smartbyptr(k), "smartbyptr")
|
|
||||||
unittest(overload_smartbyptrref(k), "smartbyptrref")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
@ -394,7 +437,7 @@ testSuite <- function() {
|
||||||
unittest("smart member value", val);
|
unittest("smart member value", val);
|
||||||
testSuite_verifyCount(2, k);
|
testSuite_verifyCount(2, k);
|
||||||
|
|
||||||
kmember = m$SmartMemberPointer;
|
kmember = m$SmartMemberValue;
|
||||||
val = kmember$getValue();
|
val = kmember$getValue();
|
||||||
unittest("smart member value", val);
|
unittest("smart member value", val);
|
||||||
testSuite_verifyCount(3, kmember);
|
testSuite_verifyCount(3, kmember);
|
||||||
|
|
@ -434,14 +477,14 @@ testSuite <- function() {
|
||||||
unittest("smart member reference", val);
|
unittest("smart member reference", val);
|
||||||
testSuite_verifyCount(2, k);
|
testSuite_verifyCount(2, k);
|
||||||
|
|
||||||
kmember = m$SmartMemberPointer;
|
kmember = m$SmartMemberReference;
|
||||||
val = kmember$getValue();
|
val = kmember$getValue();
|
||||||
unittest("smart member reference", val);
|
unittest("smart member reference", val);
|
||||||
testSuite_verifyCount(3, kmember);
|
testSuite_verifyCount(3, kmember);
|
||||||
testSuite_verifyCount(3, k);
|
testSuite_verifyCount(3, k);
|
||||||
|
|
||||||
# The C++ reference refers to SmartMemberValue...
|
# The C++ reference refers to SmartMemberValue...
|
||||||
kmemberVal = m$SmartMemberReference;
|
kmemberVal = m$SmartMemberValue;
|
||||||
val = kmember$getValue();
|
val = kmember$getValue();
|
||||||
unittest("smart member reference", val);
|
unittest("smart member reference", val);
|
||||||
testSuite_verifyCount(4, kmemberVal);
|
testSuite_verifyCount(4, kmemberVal);
|
||||||
|
|
@ -634,9 +677,9 @@ testSuite <- function() {
|
||||||
#
|
#
|
||||||
{
|
{
|
||||||
pid = PairIntDouble(10, 20.2);
|
pid = PairIntDouble(10, 20.2);
|
||||||
if (BaseIntDouble_baseVal1_get(pid) != 20 || BaseIntDouble_baseVal2_get(pid) != 40.4)
|
if (pid$baseVal1 != 20 || pid$baseVal2 != 40.4)
|
||||||
stop("Base values wrong");
|
stop("Base values wrong");
|
||||||
if (PairIntDouble_val1_get(pid) != 10 || PairIntDouble_val2_get(pid) != 20.2)
|
if (pid$val1 != 10 || pid$val2 != 20.2)
|
||||||
stop("Derived Values wrong");
|
stop("Derived Values wrong");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue