def METHOD_NAME(art_warning, image_batch, class_source, percent_poison, channels_first):
    x, y = image_batch
    backdoor = PoisoningAttackBackdoor(add_single_bd)
    try:
        attack = BadDetRegionalMisclassificationAttack(
            backdoor=backdoor,
            class_source=class_source,
            class_target=1,
            percent_poison=percent_poison,
            channels_first=channels_first,
        )
        poison_data, poison_labels = attack.poison(x, y)
        np.testing.assert_equal(poison_data.shape, x.shape)
        np.testing.assert_equal(poison_labels[0]["boxes"].shape, y[0]["boxes"].shape)
        np.testing.assert_equal(poison_labels[0]["labels"].shape, y[0]["labels"].shape)
    except ARTTestException as e:
        art_warning(e)