diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2022-10-26 19:03:38 +0100 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2022-11-05 10:39:20 +0000 |
commit | 5713b0a86758cc7a13261e3186b7241e5de98091 (patch) | |
tree | 445a076d83a1942cd2364e8b8c57c03aef898b30 | |
parent | a27ef4c10ed2b49c301086df0d5000f7329749cc (diff) | |
download | swig-5713b0a86758cc7a13261e3186b7241e5de98091.tar.gz |
li_boost_shared_ptr testcase for R
Synchronise test with Python version of testcase
-rw-r--r-- | Examples/test-suite/r/li_boost_shared_ptr_runme.R | 187 |
1 files changed, 115 insertions, 72 deletions
diff --git a/Examples/test-suite/r/li_boost_shared_ptr_runme.R b/Examples/test-suite/r/li_boost_shared_ptr_runme.R index 73765b3e3..607d008c0 100644 --- a/Examples/test-suite/r/li_boost_shared_ptr_runme.R +++ b/Examples/test-suite/r/li_boost_shared_ptr_runme.R @@ -90,16 +90,6 @@ testSuite <- function() { 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 { 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) { - 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); + k = KlassDerived("me oh my") + kret = smartpointertest(k) + val = kret$getValue() + unittest("me oh my smartpointertest-Derived", val) + #testSuite_verifyCount(2, k) + #testSuite_verifyCount(2, kret) } # pass by shared_ptr pointer (mixed) { - 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); + k = KlassDerived("me oh my") + kret = smartpointerpointertest(k) + val = kret$getValue() + unittest("me oh my smartpointerpointertest-Derived", val) + #testSuite_verifyCount(2, k) + #testSuite_verifyCount(2, kret) } - # pass by shared_ptr ref (mixed) + # pass by shared_ptr reference (mixed) { - 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); + k = KlassDerived("me oh my") + kret = smartpointerreftest(k) + val = kret$getValue() + unittest("me oh my smartpointerreftest-Derived", val) + #testSuite_verifyCount(2, k) + #testSuite_verifyCount(2, kret) } # pass by shared_ptr pointer reference (mixed) { - k = KlassDerived("me oh my"); - kret = smartpointerpointerreftest(k); - val = kret$getValue(); - unittest("me oh my smartpointerpointerreftest-Derived", val); - #testSuite_verifyCount(2, k); # includes two extra references for upcasts in the proxy classes - #testSuite_verifyCount(2, kret); + k = KlassDerived("me oh my") + kret = smartpointerpointerreftest(k) + val = kret$getValue() + unittest("me oh my smartpointerpointerreftest-Derived", val) + #testSuite_verifyCount(2, k) + #testSuite_verifyCount(2, kret) } # pass by value (mixed) @@ -299,38 +352,31 @@ testSuite <- function() { kret = valuetest(k) val = kret$getValue() unittest("me oh my valuetest", val) # note slicing - testSuite_verifyCount(2, k) - testSuite_verifyCount(1, kret) - - # --> these are the python expected counting - # testSuite_verifyCount(1, k) - # testSuite_verifyCount(1, kret) + #testSuite_verifyCount(1, k) + #testSuite_verifyCount(1, kret) } # pass by pointer (mixed) { - 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); + k = KlassDerived("me oh my") + kret = pointertest(k) + val = kret$getValue() + unittest("me oh my pointertest-Derived", val) + #testSuite_verifyCount(1, k) + #testSuite_verifyCount(1, kret) } # pass by ref (mixed) { - k = KlassDerived("me oh my"); - kret = reftest(k); - val = kret$getValue(); - unittest("me oh my reftest-Derived", val); - testSuite_verifyCount(2, k); - testSuite_verifyCount(1, kret); - - # --> these are the python expected counting - #testSuite_verifyCount(1, k); - #testSuite_verifyCount(1, kret); + k = KlassDerived("me oh my") + kret = reftest(k) + val = kret$getValue() + unittest("me oh my reftest-Derived", val) + #testSuite_verifyCount(1, k) + #testSuite_verifyCount(1, kret) } + # # ################# Overloading tests ################## # @@ -369,15 +415,12 @@ testSuite <- function() { { k = Klass3rdDerived("me oh my") - unittest(overload_rawbyval(k), "rawbyval") - unittest(overload_rawbyref(k), "rawbyref") - unittest(overload_rawbyptr(k), "rawbyptr") - unittest(overload_rawbyptrref(k), "rawbyptrref") - - unittest(overload_smartbyval(k), "smartbyval") - unittest(overload_smartbyref(k), "smartbyref") - unittest(overload_smartbyptr(k), "smartbyptr") - unittest(overload_smartbyptrref(k), "smartbyptrref") + val = k$getValue() + unittest("me oh my-3rdDerived", val) + testSuite_verifyCount(1, k) + val = test3rdupcast(k) + unittest("me oh my-3rdDerived", val) +# testSuite_verifyCount(1, k) } # @@ -394,7 +437,7 @@ testSuite <- function() { unittest("smart member value", val); testSuite_verifyCount(2, k); - kmember = m$SmartMemberPointer; + kmember = m$SmartMemberValue; val = kmember$getValue(); unittest("smart member value", val); testSuite_verifyCount(3, kmember); @@ -434,14 +477,14 @@ testSuite <- function() { unittest("smart member reference", val); testSuite_verifyCount(2, k); - kmember = m$SmartMemberPointer; + kmember = m$SmartMemberReference; val = kmember$getValue(); unittest("smart member reference", val); testSuite_verifyCount(3, kmember); testSuite_verifyCount(3, k); # The C++ reference refers to SmartMemberValue... - kmemberVal = m$SmartMemberReference; + kmemberVal = m$SmartMemberValue; val = kmember$getValue(); unittest("smart member reference", val); testSuite_verifyCount(4, kmemberVal); @@ -634,9 +677,9 @@ testSuite <- function() { # { 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"); - if (PairIntDouble_val1_get(pid) != 10 || PairIntDouble_val2_get(pid) != 20.2) + if (pid$val1 != 10 || pid$val2 != 20.2) stop("Derived Values wrong"); } |