<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TestTargetFrameworks Condition="'$(TestTargetFrameworks)' == ''">net10.0</TestTargetFrameworks>
        <TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
        <ImplicitUsings>disable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <IsPackable>false</IsPackable>
        <IsTestProject>true</IsTestProject>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.4.0"/>
        <PackageReference Include="Moq" Version="4.20.72"/>
        <PackageReference Include="NUnit" Version="4.5.1"/>
        <PackageReference Include="NUnit3TestAdapter" Version="6.2.0"/>
    </ItemGroup>

    <ItemGroup>
        <ProjectReference Include="..\GFramework.Game\GFramework.Game.csproj"/>
        <ProjectReference Include="..\GFramework.Core\GFramework.Core.csproj"/>
        <ProjectReference Include="..\GFramework.Godot\GFramework.Godot.csproj"/>
        <ProjectReference Include="..\GFramework.Core.SourceGenerators.Abstractions\GFramework.Core.SourceGenerators.Abstractions.csproj"/>
        <ProjectReference Include="..\GFramework.SourceGenerators.Common\GFramework.SourceGenerators.Common.csproj"
                          OutputItemType="Analyzer"
                          ReferenceOutputAssembly="false"/>
        <ProjectReference Include="..\GFramework.Core.SourceGenerators\GFramework.Core.SourceGenerators.csproj"
                          OutputItemType="Analyzer"
                          ReferenceOutputAssembly="false"/>
        <ProjectReference Include="..\GFramework.Game.SourceGenerators\GFramework.Game.SourceGenerators.csproj"
                          OutputItemType="Analyzer"
                          ReferenceOutputAssembly="false"/>
    </ItemGroup>

    <!--
    通过仓库内的 targets 复用消费者默认约定，确保测试项目与真实消费项目一样
    自动拾取 schemas/**/*.schema.json 作为 Source Generator 的 AdditionalFiles。
    -->
    <Import Project="..\GFramework.Game.SourceGenerators\GeWuYou.GFramework.Game.SourceGenerators.targets"/>

</Project>
