def test_certification_function(art_warning, fix_get_mnist_data, fix_get_cifar10_data):
    """
    Check that based on a given set of synthetic class predictions the certification gives the expected results.
    """
    from art.estimators.certification.derandomized_smoothing.ablators.pytorch import ColumnAblatorPyTorch
    import torch

    try:
        col_ablator = ColumnAblatorPyTorch(
            ablation_size=4,
            channels_first=True,
            mode="ViT",
            to_reshape=True,  # do not upsample initially
            original_shape=(3, 32, 32),
            output_shape=(3, 224, 224),
        )
        pred_counts = torch.from_numpy(np.asarray([[20, 5, 1], [10, 5, 1], [1, 16, 1]]))
        cert, cert_and_correct, top_predicted_class = col_ablator.certify(
            pred_counts=pred_counts,
            size_to_certify=4,
            label=0,
        )
        assert torch.equal(cert, torch.tensor([True, False, True]))
        assert torch.equal(cert_and_correct, torch.tensor([True, False, False]))
    except ARTTestException as e:
        art_warning(e)

    Check that based on a given set of synthetic class predictions the certification gives the expected results.
    
tests/estimators/certification/test_vision_transformers.py