import CoreServices
from PyObjCTools.TestSupport import TestCase


class TestCollections(TestCase):
    def assert_not_wrapped(self, name):
        self.assertTrue(
            not hasattr(CoreServices, name), f"{name!r} exposed in bindings"
        )

    def test_not_wrapped(self):
        self.assert_not_wrapped("kCollectionDontWantTag")
        self.assert_not_wrapped("kCollectionDontWantId")
        self.assert_not_wrapped("kCollectionDontWantSize")
        self.assert_not_wrapped("kCollectionDontWantAttributes")
        self.assert_not_wrapped("kCollectionDontWantIndex")
        self.assert_not_wrapped("kCollectionDontWantData")
        self.assert_not_wrapped("kCollectionNoAttributes")
        self.assert_not_wrapped("kCollectionAllAttributes")
        self.assert_not_wrapped("kCollectionUserAttributes")
        self.assert_not_wrapped("kCollectionDefaultAttributes")
        self.assert_not_wrapped("kCollectionUser0Bit")
        self.assert_not_wrapped("kCollectionUser1Bit")
        self.assert_not_wrapped("kCollectionUser2Bit")
        self.assert_not_wrapped("kCollectionUser3Bit")
        self.assert_not_wrapped("kCollectionUser4Bit")
        self.assert_not_wrapped("kCollectionUser5Bit")
        self.assert_not_wrapped("kCollectionUser6Bit")
        self.assert_not_wrapped("kCollectionUser7Bit")
        self.assert_not_wrapped("kCollectionUser8Bit")
        self.assert_not_wrapped("kCollectionUser9Bit")
        self.assert_not_wrapped("kCollectionUser10Bit")
        self.assert_not_wrapped("kCollectionUser11Bit")
        self.assert_not_wrapped("kCollectionUser12Bit")
        self.assert_not_wrapped("kCollectionUser13Bit")
        self.assert_not_wrapped("kCollectionUser14Bit")
        self.assert_not_wrapped("kCollectionUser15Bit")
        self.assert_not_wrapped("kCollectionReserved0Bit")
        self.assert_not_wrapped("kCollectionReserved1Bit")
        self.assert_not_wrapped("kCollectionReserved2Bit")
        self.assert_not_wrapped("kCollectionReserved3Bit")
        self.assert_not_wrapped("kCollectionReserved4Bit")
        self.assert_not_wrapped("kCollectionReserved5Bit")
        self.assert_not_wrapped("kCollectionReserved6Bit")
        self.assert_not_wrapped("kCollectionReserved7Bit")
        self.assert_not_wrapped("kCollectionReserved8Bit")
        self.assert_not_wrapped("kCollectionReserved9Bit")
        self.assert_not_wrapped("kCollectionReserved10Bit")
        self.assert_not_wrapped("kCollectionReserved11Bit")
        self.assert_not_wrapped("kCollectionReserved12Bit")
        self.assert_not_wrapped("kCollectionReserved13Bit")
        self.assert_not_wrapped("kCollectionPersistenceBit")
        self.assert_not_wrapped("kCollectionLockBit")
        self.assert_not_wrapped("kCollectionUser0Mask")
        self.assert_not_wrapped("kCollectionUser1Mask")
        self.assert_not_wrapped("kCollectionUser2Mask")
        self.assert_not_wrapped("kCollectionUser3Mask")
        self.assert_not_wrapped("kCollectionUser4Mask")
        self.assert_not_wrapped("kCollectionUser5Mask")
        self.assert_not_wrapped("kCollectionUser6Mask")
        self.assert_not_wrapped("kCollectionUser7Mask")
        self.assert_not_wrapped("kCollectionUser8Mask")
        self.assert_not_wrapped("kCollectionUser9Mask")
        self.assert_not_wrapped("kCollectionUser10Mask")
        self.assert_not_wrapped("kCollectionUser11Mask")
        self.assert_not_wrapped("kCollectionUser12Mask")
        self.assert_not_wrapped("kCollectionUser13Mask")
        self.assert_not_wrapped("kCollectionUser14Mask")
        self.assert_not_wrapped("kCollectionUser15Mask")
        self.assert_not_wrapped("kCollectionReserved0Mask")
        self.assert_not_wrapped("kCollectionReserved1Mask")
        self.assert_not_wrapped("kCollectionReserved2Mask")
        self.assert_not_wrapped("kCollectionReserved3Mask")
        self.assert_not_wrapped("kCollectionReserved4Mask")
        self.assert_not_wrapped("kCollectionReserved5Mask")
        self.assert_not_wrapped("kCollectionReserved6Mask")
        self.assert_not_wrapped("kCollectionReserved7Mask")
        self.assert_not_wrapped("kCollectionReserved8Mask")
        self.assert_not_wrapped("kCollectionReserved9Mask")
        self.assert_not_wrapped("kCollectionReserved10Mask")
        self.assert_not_wrapped("kCollectionReserved11Mask")
        self.assert_not_wrapped("kCollectionReserved12Mask")
        self.assert_not_wrapped("kCollectionReserved13Mask")
        self.assert_not_wrapped("kCollectionPersistenceMask")
        self.assert_not_wrapped("kCollectionLockMask")
        self.assert_not_wrapped("Collection")
        self.assert_not_wrapped("NewCollectionFlattenUPP")
        self.assert_not_wrapped("NewCollectionExceptionUPP")
        self.assert_not_wrapped("DisposeCollectionFlattenUPP")
        self.assert_not_wrapped("DisposeCollectionExceptionUPP")
        self.assert_not_wrapped("InvokeCollectionFlattenUPP")
        self.assert_not_wrapped("InvokeCollectionExceptionUPP")
        self.assert_not_wrapped("NewCollectionFlattenUPP")
        self.assert_not_wrapped("NewCollectionExceptionUPP")
        self.assert_not_wrapped("DisposeCollectionFlattenUPP")
        self.assert_not_wrapped("DisposeCollectionExceptionUPP")
        self.assert_not_wrapped("InvokeCollectionFlattenUPP")
        self.assert_not_wrapped("InvokeCollectionExceptionUPP")
        self.assert_not_wrapped("NewCollection")
        self.assert_not_wrapped("DisposeCollection")
        self.assert_not_wrapped("CloneCollection")
        self.assert_not_wrapped("CountCollectionOwners")
        self.assert_not_wrapped("RetainCollection")
        self.assert_not_wrapped("ReleaseCollection")
        self.assert_not_wrapped("GetCollectionRetainCount")
        self.assert_not_wrapped("CopyCollection")
        self.assert_not_wrapped("GetCollectionDefaultAttributes")
        self.assert_not_wrapped("SetCollectionDefaultAttributes")
        self.assert_not_wrapped("CountCollectionItems")
        self.assert_not_wrapped("AddCollectionItem")
        self.assert_not_wrapped("GetCollectionItem")
        self.assert_not_wrapped("RemoveCollectionItem")
        self.assert_not_wrapped("SetCollectionItemInfo")
        self.assert_not_wrapped("GetCollectionItemInfo")
        self.assert_not_wrapped("ReplaceIndexedCollectionItem")
        self.assert_not_wrapped("GetIndexedCollectionItem")
        self.assert_not_wrapped("RemoveIndexedCollectionItem")
        self.assert_not_wrapped("SetIndexedCollectionItemInfo")
        self.assert_not_wrapped("GetIndexedCollectionItemInfo")
        self.assert_not_wrapped("CollectionTagExists")
        self.assert_not_wrapped("CountCollectionTags")
        self.assert_not_wrapped("GetIndexedCollectionTag")
        self.assert_not_wrapped("CountTaggedCollectionItems")
        self.assert_not_wrapped("GetTaggedCollectionItem")
        self.assert_not_wrapped("GetTaggedCollectionItemInfo")
        self.assert_not_wrapped("PurgeCollection")
        self.assert_not_wrapped("PurgeCollectionTag")
        self.assert_not_wrapped("EmptyCollection")
        self.assert_not_wrapped("FlattenCollection")
        self.assert_not_wrapped("FlattenPartialCollection")
        self.assert_not_wrapped("UnflattenCollection")
        self.assert_not_wrapped("GetCollectionExceptionProc")
        self.assert_not_wrapped("SetCollectionExceptionProc")
        self.assert_not_wrapped("GetNewCollection")
        self.assert_not_wrapped("AddCollectionItemHdl")
        self.assert_not_wrapped("GetCollectionItemHdl")
        self.assert_not_wrapped("ReplaceIndexedCollectionItemHdl")
        self.assert_not_wrapped("GetIndexedCollectionItemHdl")
        self.assert_not_wrapped("FlattenCollectionToHdl")
        self.assert_not_wrapped("UnflattenCollectionFromHdl")
        self.assert_not_wrapped("dontWantTag")
        self.assert_not_wrapped("dontWantId")
        self.assert_not_wrapped("dontWantSize")
        self.assert_not_wrapped("dontWantAttributes")
        self.assert_not_wrapped("dontWantIndex")
        self.assert_not_wrapped("dontWantData")
        self.assert_not_wrapped("noCollectionAttributes")
        self.assert_not_wrapped("allCollectionAttributes")
        self.assert_not_wrapped("userCollectionAttributes")
        self.assert_not_wrapped("defaultCollectionAttributes")
        self.assert_not_wrapped("collectionUser0Bit")
        self.assert_not_wrapped("collectionUser1Bit")
        self.assert_not_wrapped("collectionUser2Bit")
        self.assert_not_wrapped("collectionUser3Bit")
        self.assert_not_wrapped("collectionUser4Bit")
        self.assert_not_wrapped("collectionUser5Bit")
        self.assert_not_wrapped("collectionUser6Bit")
        self.assert_not_wrapped("collectionUser7Bit")
        self.assert_not_wrapped("collectionUser8Bit")
        self.assert_not_wrapped("collectionUser9Bit")
        self.assert_not_wrapped("collectionUser10Bit")
        self.assert_not_wrapped("collectionUser11Bit")
        self.assert_not_wrapped("collectionUser12Bit")
        self.assert_not_wrapped("collectionUser13Bit")
        self.assert_not_wrapped("collectionUser14Bit")
        self.assert_not_wrapped("collectionUser15Bit")
        self.assert_not_wrapped("collectionReserved0Bit")
        self.assert_not_wrapped("collectionReserved1Bit")
        self.assert_not_wrapped("collectionReserved2Bit")
        self.assert_not_wrapped("collectionReserved3Bit")
        self.assert_not_wrapped("collectionReserved4Bit")
        self.assert_not_wrapped("collectionReserved5Bit")
        self.assert_not_wrapped("collectionReserved6Bit")
        self.assert_not_wrapped("collectionReserved7Bit")
        self.assert_not_wrapped("collectionReserved8Bit")
        self.assert_not_wrapped("collectionReserved9Bit")
        self.assert_not_wrapped("collectionReserved10Bit")
        self.assert_not_wrapped("collectionReserved11Bit")
        self.assert_not_wrapped("collectionReserved12Bit")
        self.assert_not_wrapped("collectionReserved13Bit")
        self.assert_not_wrapped("collectionPersistenceBit")
        self.assert_not_wrapped("collectionLockBit")
        self.assert_not_wrapped("collectionUser0Mask")
        self.assert_not_wrapped("collectionUser1Mask")
        self.assert_not_wrapped("collectionUser2Mask")
        self.assert_not_wrapped("collectionUser3Mask")
        self.assert_not_wrapped("collectionUser4Mask")
        self.assert_not_wrapped("collectionUser5Mask")
        self.assert_not_wrapped("collectionUser6Mask")
        self.assert_not_wrapped("collectionUser7Mask")
        self.assert_not_wrapped("collectionUser8Mask")
        self.assert_not_wrapped("collectionUser9Mask")
        self.assert_not_wrapped("collectionUser10Mask")
        self.assert_not_wrapped("collectionUser11Mask")
        self.assert_not_wrapped("collectionUser12Mask")
        self.assert_not_wrapped("collectionUser13Mask")
        self.assert_not_wrapped("collectionUser14Mask")
        self.assert_not_wrapped("collectionUser15Mask")
        self.assert_not_wrapped("collectionReserved0Mask")
        self.assert_not_wrapped("collectionReserved1Mask")
        self.assert_not_wrapped("collectionReserved2Mask")
        self.assert_not_wrapped("collectionReserved3Mask")
        self.assert_not_wrapped("collectionReserved4Mask")
        self.assert_not_wrapped("collectionReserved5Mask")
        self.assert_not_wrapped("collectionReserved6Mask")
        self.assert_not_wrapped("collectionReserved7Mask")
        self.assert_not_wrapped("collectionReserved8Mask")
        self.assert_not_wrapped("collectionReserved9Mask")
        self.assert_not_wrapped("collectionReserved10Mask")
        self.assert_not_wrapped("collectionReserved11Mask")
        self.assert_not_wrapped("collectionReserved12Mask")
        self.assert_not_wrapped("collectionReserved13Mask")
        self.assert_not_wrapped("collectionPersistenceMask")
        self.assert_not_wrapped("collectionLockMask")
