From 93787c322144f3c11acf261655b89a25176ce528 Mon Sep 17 00:00:00 2001 From: Marcelo Lira Date: Wed, 30 Mar 2011 16:37:15 -0300 Subject: Added two more unit tests for the overload decisor. --- tests/libsample/overload.h | 8 ++++++++ tests/samplebinding/overload_test.py | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) (limited to 'tests') 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() -- cgit v1.2.3