<Project>
  <Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />

  <PropertyGroup>
    <IsPackable>false</IsPackable>
    <DefaultItemExcludes>$(DefaultItemExcludes);TestResults\*\**</DefaultItemExcludes>
  </PropertyGroup>

  <ItemGroup>
    <!-- Packages that apply to all tests -->
    <PackageReference Include="AgileObjects.ReadableExpressions" PrivateAssets="all" />
    <PackageReference Include="AutofacContrib.NSubstitute" PrivateAssets="all" />
    <PackageReference Include="AutoFixture" PrivateAssets="all" />
    <PackageReference Include="AutoFixture.AutoNSubstitute" PrivateAssets="all" />
    <PackageReference Include="AutoFixture.NUnit4" PrivateAssets="all" />
    <PackageReference Include="coverlet.collector" PrivateAssets="all" />
    <PackageReference Include="FluentAssertions" PrivateAssets="all" />
    <PackageReference Include="FluentAssertions.Analyzers" PrivateAssets="all" />
    <PackageReference Include="GitHubActionsTestLogger" PrivateAssets="all" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" PrivateAssets="all" />
    <PackageReference Include="NSubstitute" PrivateAssets="all" />
    <PackageReference Include="NSubstitute.Analyzers.CSharp" PrivateAssets="all" />
    <PackageReference Include="NUnit" PrivateAssets="all" />
    <PackageReference Include="NUnit.Analyzers" PrivateAssets="all" />
    <PackageReference Include="NUnit3TestAdapter" PrivateAssets="all" />
    <PackageReference Include="Serilog.Sinks.Observable" PrivateAssets="all" />
    <PackageReference Include="Serilog.Sinks.NUnit" PrivateAssets="all" />
    <PackageReference Include="Spectre.Console.Testing" PrivateAssets="all" />
    <PackageReference Include="TestableIO.System.IO.Abstractions.Extensions" PrivateAssets="all" />
    <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" PrivateAssets="all" />
  </ItemGroup>

  <ItemGroup>
    <Using Include="AutoFixture.NUnit4" />
    <Using Include="FluentAssertions" />
    <Using Include="NSubstitute" />
    <Using Include="NUnit.Framework" />
    <Using Include="Serilog" />
    <Using Include="System.IO.Abstractions.TestingHelpers" />
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Include="**\Data\*" />
  </ItemGroup>

  <ItemGroup>
    <!-- From https://github.com/dotnet/msbuild/pull/6285 -->
    <AssemblyAttribute Include="NUnit.Framework.ParallelizableAttribute">
      <_Parameter1>NUnit.Framework.ParallelScope.All</_Parameter1>
      <_Parameter1_IsLiteral>true</_Parameter1_IsLiteral>
    </AssemblyAttribute>
    <AssemblyAttribute Include="NUnit.Framework.FixtureLifeCycleAttribute">
      <_Parameter1>NUnit.Framework.LifeCycle.InstancePerTestCase</_Parameter1>
      <_Parameter1_IsLiteral>true</_Parameter1_IsLiteral>
    </AssemblyAttribute>
  </ItemGroup>
</Project>