mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-11-13 15:47:21 +00:00
70 lines
3.4 KiB
XML
70 lines
3.4 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<LangVersion>latest</LangVersion>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
<RootNamespace>AIStudio.Tests</RootNamespace>
|
|
<IsPackable>false</IsPackable>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="coverlet.collector" Version="10.1.0" />
|
|
<!--
|
|
Held at the version the two analyzer projects build against, so that a test compiling a
|
|
snippet uses the same Roslyn the analyzers themselves were written for. Raise all three
|
|
together, and never above the Roslyn of the oldest .NET SDK which may build AI Studio (5.0 for
|
|
10.0.1xx), even though the SDK in metadata.txt ships a newer one; SourceCodeRules explains why.
|
|
-->
|
|
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="5.0.0" />
|
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.11.0" />
|
|
<!--
|
|
NUnit 4.6 broke Assert.That for plain values under C# 13: with Assert.That(Action, ...) added,
|
|
even Assert.That(1, Is.EqualTo(1)) failed with "argument 1: cannot convert int to System.Action".
|
|
NUnit 5 with C# 14 picks the value overload again. Should that message come back after an update,
|
|
this is where it comes from.
|
|
-->
|
|
<PackageReference Include="NUnit" Version="5.0.0" />
|
|
<PackageReference Include="NUnit.Analyzers" Version="4.15.0">
|
|
<PrivateAssets>all</PrivateAssets>
|
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
</PackageReference>
|
|
<PackageReference Include="NUnit3TestAdapter" Version="6.3.1" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\MindWork AI Studio\MindWork AI Studio.csproj" />
|
|
|
|
<!--
|
|
Referenced as libraries: the tests run the generator and the analyzers themselves, against
|
|
a snippet they compile in memory. SourceCodeRules is an analyzer of this project as well,
|
|
but only for MWAIS0018, see below: a test which expects the line break of the system fails
|
|
on Windows only, where no pipeline runs the tests. The other rules are written for the code
|
|
of the app and would judge test code which has its reasons, such as new Random() with a seed.
|
|
-->
|
|
<ProjectReference Include="..\SourceCodeRules\SourceCodeRules\SourceCodeRules.csproj" OutputItemType="Analyzer" />
|
|
<ProjectReference Include="..\SourceGeneratedMappings\SourceGeneratedMappings.csproj" />
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
Every rule of SourceCodeRules except MWAIS0018, the line break of the system. A new rule judges
|
|
the tests, too, until it is listed here.
|
|
-->
|
|
<PropertyGroup>
|
|
<NoWarn>$(NoWarn);MWAIS0001;MWAIS0002;MWAIS0003;MWAIS0004;MWAIS0005;MWAIS0006;MWAIS0007;MWAIS0008;MWAIS0009;MWAIS0010;MWAIS0011;MWAIS0012;MWAIS0013;MWAIS0014;MWAIS0015;MWAIS0016;MWAIS0017</NoWarn>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
Compiled here as well, so that the tests check the same options of the app which the trim smoke test finds.
|
|
-->
|
|
<ItemGroup>
|
|
<Compile Include="..\TrimSmokeTest\AppJsonOptions.cs" Link="Serialization\AppJsonOptions.cs" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Using Include="NUnit.Framework" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|