def test_should_raise_error_if_grad_cam_layer_cannot_be_found():
    model = tf.keras.Sequential([
        tf.keras.layers.Dense(10, input_shape=(10, ), name="dense_1"),
        tf.keras.layers.Dense(1, name="dense_2"),
    ])

    with pytest.raises(ValueError):
        layer_name = GradCAM.infer_grad_cam_target_layer(model)
def test_should_infer_layer_name_for_grad_cam(model, expected_layer_name):
    layer_name = GradCAM.infer_grad_cam_target_layer(model)

    assert layer_name == expected_layer_name