diff options
Diffstat (limited to 'Examples/test-suite/d/overload_complicated_runme.1.d')
-rw-r--r-- | Examples/test-suite/d/overload_complicated_runme.1.d | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Examples/test-suite/d/overload_complicated_runme.1.d b/Examples/test-suite/d/overload_complicated_runme.1.d new file mode 100644 index 000000000..03d1bf1e6 --- /dev/null +++ b/Examples/test-suite/d/overload_complicated_runme.1.d @@ -0,0 +1,50 @@ +module overload_complicated_runme; + +import overload_complicated; + +void main() { + SWIGTYPE_p_int pInt = null; + + // Check the correct constructors are available + Pop p = new Pop(pInt); + + p = new Pop(pInt, false); + + // Check overloaded in const only and pointers/references which target languages cannot disambiguate + if (p.hip(false) != 701) + throw new Exception("Test 1 failed"); + + if (p.hip(pInt) != 702) + throw new Exception("Test 2 failed"); + + // Reverse the order for the above + if (p.hop(pInt) != 805) + throw new Exception("Test 3 failed"); + + if (p.hop(false) != 801) + throw new Exception("Test 4 failed"); + + // Few more variations and order shuffled + if (p.pop(false) != 901) + throw new Exception("Test 5 failed"); + + if (p.pop(pInt) != 902) + throw new Exception("Test 6 failed"); + + if (p.pop() != 905) + throw new Exception("Test 7 failed"); + + // Overload on const only + if (p.bop(pInt) != 1001) + throw new Exception("Test 8 failed"); + + if (p.bip(pInt) != 2001) + throw new Exception("Test 9 failed"); + + // Globals + if (muzak(false) != 3001) + throw new Exception("Test 10 failed"); + + if (muzak(pInt) != 3002) + throw new Exception("Test 11 failed"); +} |