aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/tests/samplebinding/injectcode_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken2/tests/samplebinding/injectcode_test.py')
-rw-r--r--sources/shiboken2/tests/samplebinding/injectcode_test.py132
1 files changed, 0 insertions, 132 deletions
diff --git a/sources/shiboken2/tests/samplebinding/injectcode_test.py b/sources/shiboken2/tests/samplebinding/injectcode_test.py
deleted file mode 100644
index d6b1d0686..000000000
--- a/sources/shiboken2/tests/samplebinding/injectcode_test.py
+++ /dev/null
@@ -1,132 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-#
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: https://www.qt.io/licensing/
-##
-## This file is part of the test suite of Qt for Python.
-##
-## $QT_BEGIN_LICENSE:GPL-EXCEPT$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see https://www.qt.io/terms-conditions. For further
-## information use the contact form at https://www.qt.io/contact-us.
-##
-## GNU General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU
-## General Public License version 3 as published by the Free Software
-## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-## included in the packaging of this file. Please review the following
-## information to ensure the GNU General Public License requirements will
-## be met: https://www.gnu.org/licenses/gpl-3.0.html.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-'''Test cases for std::list container conversions'''
-
-import unittest
-from sample import InjectCode
-
-class MyInjectCode(InjectCode):
- def __init__(self):
- InjectCode.__init__(self)
- self.multiplier = 2
-
- def arrayMethod(self, values):
- return self.multiplier * sum(values)
-
-class InjectCodeTest(unittest.TestCase):
-
- def testTypeNativeBeginning_TypeTargetBeginning(self):
- ic = InjectCode()
- self.assertEqual(str(ic), "Hi! I'm the inject code dummy class.")
-
- def testFunctionTargetBeginning_FunctionTargetEnd(self):
- ic = InjectCode()
- ret = ic.simpleMethod1(2, 1)
- self.assertEqual(ret, "4end")
- ret = ic.simpleMethod1(4, 2)
- self.assertEqual(ret, "7end")
-
- def testFunctionTargetBeginning(self):
- ic = InjectCode()
- ret = ic.simpleMethod2()
- self.assertEqual(ret, "_end")
-
- def testArgsModification(self):
- ic = InjectCode()
- ret = ic.overloadedMethod(["1", "2", "3", "4"])
- self.assertEqual(ret, "1234")
- ret = ic.overloadedMethod(2, 0.5)
- self.assertEqual(ret, "2.5")
- ret = ic.overloadedMethod(6, True)
- self.assertEqual(ret, "6true")
-
- def testArgsModification2(self):
- ic = InjectCode()
- ret = ic.simpleMethod3(["1", "2", "3", "4"])
- self.assertEqual(ret, "1234")
-
- def testArgumentRemovalAndArgumentTypeModification(self):
- '''A method has its first argument removed and the second modified.'''
- ic = InjectCode()
- values = (1, 2, 3, 4, 5)
- result = ic.arrayMethod(values)
- self.assertEqual(result, sum(values))
-
- def testCallVirtualMethodWithArgumentRemovalAndArgumentTypeModification(self):
- '''A virtual method has its first argument removed and the second modified.'''
- ic = InjectCode()
- values = (1, 2, 3, 4, 5)
- result = ic.callArrayMethod(values)
- self.assertEqual(result, sum(values))
-
- def testCallReimplementedVirtualMethodWithArgumentRemovalAndArgumentTypeModification(self):
- '''Calls a reimplemented virtual method that had its first argument removed and the second modified.'''
- ic = MyInjectCode()
- values = (1, 2, 3, 4, 5)
- result = ic.callArrayMethod(values)
- self.assertEqual(result, ic.multiplier * sum(values))
-
- def testUsageOfTypeSystemCheckVariableOnPrimitiveType(self):
- '''When the sequence item is convertible to an integer -1 is returned, or -2 if its not convertible.'''
- ic = InjectCode()
- values = (1, 2, 3, 4, '5', 6.7)
- result = ic.arrayMethod(values)
-
- fixedValues = [v for v in values if isinstance(v, int)]\
- + [-1 for v in values if isinstance(v, float)]\
- + [-2 for v in values if not isinstance(v, int) and not isinstance(v, float)]
- self.assertEqual(result, sum(fixedValues))
-
-
-class IntArrayTest(unittest.TestCase):
- '''Test case for converting python sequence to int array'''
-
- def testBasic(self):
- '''Shiboken::sequenceToIntArray - basic case'''
- args = [1, 2, 3, 4]
- ic = InjectCode()
- self.assertEqual(sum(args) + len(args), ic.sumArrayAndLength(args))
-
- def testEmpty(self):
- '''Shiboken::sequenceToIntArray - empty sequence'''
- args = []
- ic = InjectCode()
- self.assertEqual(sum(args) + len(args), ic.sumArrayAndLength(args))
-
- def testWithZero(self):
- '''Shiboken::sequenceToIntArray - count only up to zero'''
- args = [1, 2, 0, 3]
- ic = InjectCode()
- self.assertEqual(sum([1, 2]) + len([1, 2]), ic.sumArrayAndLength(args))
-
-if __name__ == '__main__':
- unittest.main()