aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2011-03-30 16:37:15 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:15:19 -0300
commit93787c322144f3c11acf261655b89a25176ce528 (patch)
tree6ccdfbac04c67e8babed757fa3028f3799fca397
parentfecbf726c06d32d0e9c1b180bb79f356ba571540 (diff)
Added two more unit tests for the overload decisor.
-rw-r--r--tests/libsample/overload.h8
-rw-r--r--tests/samplebinding/overload_test.py15
2 files changed, 22 insertions, 1 deletions
diff --git a/tests/libsample/overload.h b/tests/libsample/overload.h
index 46a578859..3ffd0ac92 100644
--- a/tests/libsample/overload.h
+++ b/tests/libsample/overload.h
@@ -26,6 +26,7 @@
#include "str.h"
#include "size.h"
#include "point.h"
+#include "polygon.h"
#include "libsamplemacros.h"
@@ -59,9 +60,16 @@ public:
inline int intOverloads(int i, int i2) { return 2; }
inline int intOverloads(int i, int removedArg, double d) { return 3; }
+ inline FunctionEnum intDoubleOverloads(int a0, int a1) const { return Function0; }
+ inline FunctionEnum intDoubleOverloads(double a0, double a1) const { return Function1; }
+
void singleOverload(Point* x) {}
Point* singleOverload() {return new Point();}
+ // Similar to QImage::trueMatrix(QMatrix,int,int) and QImage::trueMatrix(QTransform,int,int)
+ FunctionEnum wrapperIntIntOverloads(const Point& arg0, int arg1, int arg2) { return Function0; }
+ FunctionEnum wrapperIntIntOverloads(const Polygon& arg0, int arg1, int arg2) { return Function1; }
+
// Similar to QImage constructor
FunctionEnum strBufferOverloads(const Str& arg0, const char* arg1 = 0, bool arg2 = true) { return Function0; }
FunctionEnum strBufferOverloads(unsigned char* arg0, int arg1) { return Function1; }
diff --git a/tests/samplebinding/overload_test.py b/tests/samplebinding/overload_test.py
index d3ca66ee3..58a4c99c5 100644
--- a/tests/samplebinding/overload_test.py
+++ b/tests/samplebinding/overload_test.py
@@ -28,7 +28,7 @@
import unittest
-from sample import Overload, Point, Size
+from sample import Overload, Point, Polygon, Size
class OverloadTest(unittest.TestCase):
'''Test case for Overload class'''
@@ -69,6 +69,19 @@ class OverloadTest(unittest.TestCase):
self.assertEqual(overload.intOverloads(2, 4.5), 3)
self.assertEqual(overload.intOverloads(Point(0, 0), 3), 1)
+ def testIntDoubleOverloads(self):
+ overload = Overload()
+ self.assertEqual(overload.intDoubleOverloads(1, 2), Overload.Function0)
+ self.assertEqual(overload.intDoubleOverloads(1, 2.0), Overload.Function0)
+ self.assertEqual(overload.intDoubleOverloads(1.0, 2), Overload.Function1)
+ self.assertEqual(overload.intDoubleOverloads(1.0, 2.0), Overload.Function1)
+
+ def testWrapperIntIntOverloads(self):
+ overload = Overload()
+ self.assertEqual(overload.wrapperIntIntOverloads(Point(), 1, 2), Overload.Function0)
+ self.assertEqual(overload.wrapperIntIntOverloads(Polygon(), 1, 2), Overload.Function1)
+
+
if __name__ == '__main__':
unittest.main()