示例#1
0
    def testContains(self):
        array = CoreFoundation.CFArrayCreate(
            None, ["a", 2, 3, 4, 4, 2], 6, CoreFoundation.kCFTypeArrayCallBacks
        )
        self.assertEqual(array, ["a", 2, 3, 4, 4, 2])
        self.assertIsInstance(array, NSArray)

        self.assertFalse(CoreFoundation.CFArrayContainsValue(array, (0, 6), "hello"))
        self.assertTrue(CoreFoundation.CFArrayContainsValue(array, (0, 6), 4))
        self.assertFalse(CoreFoundation.CFArrayContainsValue(array, (0, 2), 4))

        self.assertEqual(
            CoreFoundation.CFArrayGetFirstIndexOfValue(array, (0, 6), 3), 2
        )
        self.assertEqual(
            CoreFoundation.CFArrayGetFirstIndexOfValue(array, (0, 6), 2), 1
        )
        self.assertEqual(
            CoreFoundation.CFArrayGetFirstIndexOfValue(array, (0, 6), "hello"),
            CoreFoundation.kCFNotFound,
        )
        self.assertEqual(CoreFoundation.CFArrayGetLastIndexOfValue(array, (0, 6), 3), 2)
        self.assertEqual(CoreFoundation.CFArrayGetLastIndexOfValue(array, (0, 6), 2), 5)
        self.assertEqual(
            CoreFoundation.CFArrayGetLastIndexOfValue(array, (0, 6), "hello"),
            CoreFoundation.kCFNotFound,
        )
        self.assertArgHasType(CoreFoundation.CFArrayGetFirstIndexOfValue, 2, b"@")
        self.assertArgHasType(CoreFoundation.CFArrayGetLastIndexOfValue, 2, b"@")