def test_get_csharp_libraries_skips_invalid_package_reference_tags() -> None:
    create_fake_lean_cli_directory()

    with (Path.cwd() / "CSharp Project" / "CSharp Project.csproj").open("w+", encoding="utf-8") as file:
        file.write("""
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
        <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
        <TargetFramework>net5.0</TargetFramework>
        <LangVersion>9</LangVersion>
        <OutputPath>bin/$(Configuration)</OutputPath>
        <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
        <NoWarn>CS0618</NoWarn>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="QuantConnect.Lean" Version="2.5.11586"/>
        <PackageReference Include="Microsoft.ML"/>
        <PackageReference Version="0.94.0"/>
        <PackageReference/>
    </ItemGroup>
</Project>
        """)

    project_config_manager = ProjectConfigManager(XMLManager())
    libraries = project_config_manager.get_csharp_libraries(Path.cwd() / "CSharp Project")

    assert len(libraries) == 1
    assert CSharpLibrary(name="QuantConnect.Lean", version="2.5.11586") in libraries
def test_get_csharp_libraries_returns_empty_list_when_no_csproj_in_project_directory() -> None:
    create_fake_lean_cli_directory()

    project_config_manager = ProjectConfigManager(XMLManager())

    assert len(project_config_manager.get_csharp_libraries(Path.cwd() / "Python Project")) == 0