def setUpClass(cls):
     super().setUpClass()
     class_list = Gate.__subclasses__() + ControlledGate.__subclasses__()
     exclude = {
         "ControlledGate",
         "DiagonalGate",
         "UCGate",
         "MCGupDiag",
         "MCU1Gate",
         "UnitaryGate",
         "HamiltonianGate",
         "MCPhaseGate",
         "UCPauliRotGate",
         "SingleQubitUnitary",
         "MCXGate",
         "VariadicZeroParamGate",
         "ClassicalFunction",
         "ClassicalElement",
         "StatePreparation",
         "LinearFunction",
     }
     cls._gate_classes = []
     for aclass in class_list:
         if aclass.__name__ not in exclude:
             cls._gate_classes.append(aclass)
 def setUpClass(cls):
     class_list = Gate.__subclasses__() + ControlledGate.__subclasses__()
     exclude = {'ControlledGate', 'DiagonalGate', 'UCGate', 'MCGupDiag',
                'MCU1Gate', 'UnitaryGate', 'HamiltonianGate', 'MCPhaseGate',
                'UCPauliRotGate', 'SingleQubitUnitary', 'MCXGate',
                'VariadicZeroParamGate'}
     cls._gate_classes = []
     for aclass in class_list:
         if aclass.__name__ not in exclude:
             cls._gate_classes.append(aclass)