def test_forward_pass_no_inverse_fourier():
    """
    Test the forward pass when inverse_fourier is set to False, ensuring the output is in the frequency domain.
    """
    batch_size = 2
    in_channels = 1
    out_channels = 2
    sequence_length = 128
    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=False,
        f_mean=(15.0, 30.0),
        bandwidth=(5.0, 5.0),
        shape=(2.0, 2.0)
    )
    input_tensor = torch.randn(batch_size, in_channels, sequence_length)
    output = filter_layer(input_tensor)
    # Since inverse_fourier=False, output should be in frequency domain
    freq_bins = sequence_length // 2 + 1
    expected_shape = (batch_size, out_channels, freq_bins, 2)  # Last dimension is real and imaginary parts
    assert output.shape == expected_shape, f"Expected output shape {expected_shape}, got {output.shape}"
    # Verify that output is real-valued (since it's the real and imaginary parts)
    assert output.dtype == torch.float32 or output.dtype == torch.float64, "Output should be real-valued tensor"

    Test the forward pass when inverse_fourier is set to False, ensuring the output is in the frequency domain.
    
test/unit_tests/models/test_modules.py