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