def test_forward_pass_output_shape():
    """
    Test that the forward pass returns the correct output shape.
    """
    batch_size = 3
    in_channels = 2
    out_channels = 4  # Must be a multiple of in_channels
    sequence_length = 256
    sample_rate = 100.0  # Hz
    filter_layer = GeneralizedGaussianFilter(
        in_channels=in_channels,
        out_channels=out_channels,
        sequence_length=sequence_length,
        sample_rate=sample_rate,
        inverse_fourier=True,
        f_mean=(10.0, 20.0),
        bandwidth=(5.0, 10.0),
        shape=(2.0, 2.5),
        group_delay = (10.0, 20.0)
    )
    input_tensor = torch.randn(batch_size, in_channels, sequence_length)
    output = filter_layer(input_tensor)
    expected_shape = (batch_size, out_channels, sequence_length)
    assert output.shape == expected_shape, f"Expected output shape {expected_shape}, got {output.shape}"

    Test that the forward pass returns the correct output shape.
    
test/unit_tests/models/test_modules.py