<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net8.0-windows</TargetFramework>
    <IsPackable>false</IsPackable>
    <StartupObject>AutoGeneratedProgram</StartupObject>

    <AllowUnsafeBlocks>True</AllowUnsafeBlocks>

    <NoWarn>1701;1702;1705,67,169,1058,728,1720,649,168,251</NoWarn>

    <EnableDefaultItems>false</EnableDefaultItems>

    <RootNamespace>ICSharpCode.ILSpy.Tests</RootNamespace>
    <AutoGenerateBindingRedirects>True</AutoGenerateBindingRedirects>

    <SignAssembly>True</SignAssembly>
    <AssemblyOriginatorKeyFile>..\ICSharpCode.Decompiler\ICSharpCode.Decompiler.snk</AssemblyOriginatorKeyFile>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <DebugType>full</DebugType>
    <DebugSymbols>true</DebugSymbols>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <DebugType>pdbonly</DebugType>
    <DebugSymbols>true</DebugSymbols>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <DefineConstants>TRACE;DEBUG;NET46;ROSLYN;CS60;CS70</DefineConstants>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="Analyzers\ExportAnalyzerAttributeTests.cs" />
    <Compile Include="Analyzers\AnalyzerScopeTests.cs" />
    <Compile Include="Analyzers\MemberImplementsInterfaceAnalyzerTests.cs" />
    <Compile Include="Analyzers\MethodUsesAnalyzerTests.cs" />
    <Compile Include="Analyzers\TestCases\MainAssembly.cs" />
    <Compile Include="Analyzers\TypeUsedByAnalyzerTests.cs" />
    <Compile Include="CommandLineArgumentsTests.cs" />
    <Compile Include="ResourceReaderWriterTests.cs" />
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Include="Icon.ico" />
    <EmbeddedResource Include="Test.resources" />
    <EmbeddedResource Include="IconContainer.resx">
      <Generator>ResXCodeGenerator</Generator>
    </EmbeddedResource>
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Include="BitmapContainer.resources" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="DiffLib" />
    <PackageReference Include="NSubstitute" />
    <PackageReference Include="NSubstitute.Analyzers.CSharp">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="System.Collections.Immutable" />
    <PackageReference Include="System.Reflection.Metadata" />
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp" />
    <PackageReference Include="Microsoft.CodeAnalysis.VisualBasic" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" />
    <PackageReference Include="NUnit3TestAdapter" />
    <PackageReference Include="coverlet.collector">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="NUnit" />
    <PackageReference Include="Shouldly" />
    <PackageReference Include="JunitXml.TestLogger" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\ICSharpCode.Decompiler\ICSharpCode.Decompiler.csproj" />
    <ProjectReference Include="..\ILSpy\ILSpy.csproj" />
  </ItemGroup>

</Project>