diff options
Diffstat (limited to 'sources/shiboken2/tests/samplebinding/injectcode_test.py')
-rw-r--r-- | sources/shiboken2/tests/samplebinding/injectcode_test.py | 132 |
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() |