Exemple #1
0
    def test_creation(self):
        with self.assertRaises(ValueError):
            obj = BaseCClass(0)


        obj = BaseCClass( 10 )
        self.assertTrue( obj )

        obj._invalidateCPointer( )
        self.assertFalse( obj )
Exemple #2
0
    def test_class_variables(self):
        BaseCClass.cNamespace().hello = "BooYa!"
        StringListTest.cNamespace()["pow"] = "Badonkadonk!"

        with self.assertRaises(AssertionError):
            StringListTest.cNamespace().pow = "Badonkadonka!"

        with self.assertRaises(LookupError):
            self.assertFalse(BaseCClass.cNamespace()["pow"])

        with self.assertRaises(AttributeError):
            self.assertFalse(StringListTest.cNamespace().hello)

        self.assertEqual(StringListTest.cNamespace().pow, StringListTest.cNamespace()["pow"])
Exemple #3
0
 def append(self, data):
     if isinstance(data, int):
         self._append_int(data)
     elif isinstance(data, float):
         self._append_double(data)
     elif isinstance(data, BaseCClass):
         self._append_ptr(BaseCClass.from_param(data))
         self.child_list.append(data)
     else:
         raise TypeError("Can only add int/double/basecclass")
Exemple #4
0
    def addTask(self, cfunc, arg):
        """
        The function should come from CThreadPool.lookupCFunction().
        """
        if isinstance(arg, BaseCClass):
            arg_ptr = BaseCClass.from_param(arg)
        else:
            arg_ptr = arg

        self.arg_list.append(arg)
        self._add_job(cfunc, arg_ptr)
Exemple #5
0
    def addTask(self, cfunc, arg):
        """
        The function should come from CThreadPool.lookupCFunction().
        """
        if isinstance(arg, BaseCClass):
            arg_ptr = BaseCClass.from_param(arg)
        else:
            arg_ptr = arg

        self.arg_list.append(arg)
        self._add_job(cfunc, arg_ptr)
Exemple #6
0
    def test_creation(self):
        with self.assertRaises(ValueError):
            obj = BaseCClass(0)

        obj = BaseCClass(10)
        self.assertTrue(obj)

        obj._invalidateCPointer()
        self.assertFalse(obj)
Exemple #7
0
    def test_return_type(self):
        stringlist_alloc = cwrapper.prototype("c_void_p stringlist_alloc_new( )")
        string_list1 = StringListTest()

        stringlist_alloc = cwrapper.prototype("stringlisttest_obj stringlist_alloc_new( )")
        string_list2 = stringlist_alloc()

        stringlist_alloc = cwrapper.prototype("stringlisttest_ref stringlist_alloc_new( )")
        string_list3 = stringlist_alloc()

        self.assertIsInstance(string_list1, StringListTest)
        self.assertIsInstance(string_list2, StringListTest)
        self.assertIsInstance(string_list3, StringListTest)

        self.assertFalse(string_list1.isReference())
        self.assertFalse(string_list2.isReference())
        self.assertTrue(string_list3.isReference())

        self.assertNotEqual(BaseCClass.from_param(string_list1), BaseCClass.from_param(string_list2))
        self.assertNotEqual(BaseCClass.from_param(string_list2), BaseCClass.from_param(string_list3))
        self.assertNotEqual(BaseCClass.from_param(string_list1), BaseCClass.from_param(string_list3))