Skip to content

Commit e9da87d

Browse files
gojanpaoloangularsen
authored andcommitted
Add compatibility tests for UnitsNet.Serialization.JsonNet (#425)
* Create another test project to run UnitsNet JSON serialization tests on the latest UnitsNet libraries in Nuget The new test project is `UnitsNet.Serialization.JsonNet.CompatibilityTests`. UnitsNetJsonConverterTests.cs is added as a link. ` <Compile Include="..\UnitsNet.Serialization.JsonNet.Tests\UnitsNetJsonConverterTests.cs" Link="UnitsNetJsonConverterTests.cs" />` The project runs the serialization tests on the latest version of the UnitsNet.Serialization.JsonNet library in Nuget. `<PackageReference Include="UnitsNet.Serialization.JsonNet" Version="*" />` * Added xUnit DotNetCliToolReference * Force compatibility tests to use branch's UnitsNet code see #423 (comment) Compatibility test must use JSON Nuget and branch's UnitsNet code * Added compatibility tests project to Start-Tests script function
1 parent b97b04c commit e9da87d

File tree

3 files changed

+54
-2
lines changed

3 files changed

+54
-2
lines changed

Build/build-functions.psm1

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ function Start-Build([boolean] $skipUWP = $false) {
5858
function Start-Tests {
5959
$projectPaths = @(
6060
"UnitsNet.Tests\UnitsNet.Tests.NetCore.csproj",
61-
"UnitsNet.Serialization.JsonNet.Tests\UnitsNet.Serialization.JsonNet.Tests.NetCore.csproj"
61+
"UnitsNet.Serialization.JsonNet.Tests\UnitsNet.Serialization.JsonNet.Tests.NetCore.csproj",
62+
"UnitsNet.Serialization.JsonNet.CompatibilityTests\UnitsNet.Serialization.JsonNet.CompatibilityTests.NetCore.csproj"
6263
)
6364

6465
# Parent dir must exist before xunit tries to write files to it
@@ -121,4 +122,4 @@ function Compress-ArtifactsAsZip {
121122
write-host -foreground blue "Zip artifacts...END`n"
122123
}
123124

124-
export-modulemember -function Start-NugetRestore, Remove-ArtifactsDir, Update-GeneratedCode, Start-Build, Start-SignedBuild, Start-Tests, Start-PackNugets, Compress-ArtifactsAsZip
125+
export-modulemember -function Start-NugetRestore, Remove-ArtifactsDir, Update-GeneratedCode, Start-Build, Start-SignedBuild, Start-Tests, Start-PackNugets, Compress-ArtifactsAsZip
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFrameworks>netcoreapp1.1</TargetFrameworks>
5+
<RootNamespace>UnitsNet.Serialization.JsonNet.CompatibilityTests</RootNamespace>
6+
<OutputPath>..\Artifacts\$(MSBuildProjectName)</OutputPath>
7+
</PropertyGroup>
8+
9+
<ItemGroup>
10+
<Compile Remove="obj\**" />
11+
<EmbeddedResource Remove="obj\**" />
12+
<None Remove="obj\**" />
13+
</ItemGroup>
14+
15+
<ItemGroup>
16+
<Compile Include="..\UnitsNet.Serialization.JsonNet.Tests\UnitsNetJsonConverterTests.cs" Link="UnitsNetJsonConverterTests.cs" />
17+
</ItemGroup>
18+
19+
<ItemGroup>
20+
<!--Get the latest released version of UnitsNet.Serialization.JsonNet in Nuget-->
21+
<PackageReference Include="UnitsNet.Serialization.JsonNet" Version="*" />
22+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
23+
<PackageReference Include="xunit" Version="2.3.0-beta4-build3742" />
24+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0-beta4-build3742" />
25+
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0-beta2-build3683" />
26+
</ItemGroup>
27+
28+
<ItemGroup>
29+
<!--Reference the UnitsNet project to test the UnitsNet.Serialization.JsonNet Nuget with
30+
the latest UnitsNet code to catch backwards compatibility issues. -->
31+
<ProjectReference Include="..\UnitsNet\UnitsNet.NetStandard10.csproj" />
32+
</ItemGroup>
33+
</Project>

UnitsNet.sln

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitsNet.Serialization.Json
1515
EndProject
1616
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitsNet.Tests", "UnitsNet.Tests\UnitsNet.Tests.csproj", "{0E3B7567-5DF2-44BD-88DB-CCF050D3F943}"
1717
EndProject
18+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitsNet.Serialization.JsonNet.CompatibilityTests", "UnitsNet.Serialization.JsonNet.CompatibilityTests\UnitsNet.Serialization.JsonNet.CompatibilityTests.csproj", "{21F2FFAC-BF39-487F-9ADE-37100162F955}"
19+
EndProject
1820
Global
1921
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2022
Debug|Any CPU = Debug|Any CPU
@@ -123,6 +125,22 @@ Global
123125
{0E3B7567-5DF2-44BD-88DB-CCF050D3F943}.Release|x64.Build.0 = Release|Any CPU
124126
{0E3B7567-5DF2-44BD-88DB-CCF050D3F943}.Release|x86.ActiveCfg = Release|Any CPU
125127
{0E3B7567-5DF2-44BD-88DB-CCF050D3F943}.Release|x86.Build.0 = Release|Any CPU
128+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
129+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Debug|Any CPU.Build.0 = Debug|Any CPU
130+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Debug|ARM.ActiveCfg = Debug|Any CPU
131+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Debug|ARM.Build.0 = Debug|Any CPU
132+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Debug|x64.ActiveCfg = Debug|Any CPU
133+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Debug|x64.Build.0 = Debug|Any CPU
134+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Debug|x86.ActiveCfg = Debug|Any CPU
135+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Debug|x86.Build.0 = Debug|Any CPU
136+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Release|Any CPU.ActiveCfg = Release|Any CPU
137+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Release|Any CPU.Build.0 = Release|Any CPU
138+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Release|ARM.ActiveCfg = Release|Any CPU
139+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Release|ARM.Build.0 = Release|Any CPU
140+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Release|x64.ActiveCfg = Release|Any CPU
141+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Release|x64.Build.0 = Release|Any CPU
142+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Release|x86.ActiveCfg = Release|Any CPU
143+
{21F2FFAC-BF39-487F-9ADE-37100162F955}.Release|x86.Build.0 = Release|Any CPU
126144
EndGlobalSection
127145
GlobalSection(SolutionProperties) = preSolution
128146
HideSolutionNode = FALSE

0 commit comments

Comments
 (0)