Skip to content

Commit f2b0321

Browse files
authored
Add multi-targeting to unit test project with net481 support (#40)
* Add multi-targeting to unit test project with net481 support * Use .NET 8 SDK in build pipeline
1 parent e08c8c4 commit f2b0321

File tree

8 files changed

+35
-16
lines changed

8 files changed

+35
-16
lines changed

Diff for: .github/workflows/dotnet.yml

+5-1
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,14 @@ jobs:
1313

1414
steps:
1515
- uses: actions/checkout@v2
16-
- name: Setup .NET
16+
- name: Setup .NET 6
1717
uses: actions/setup-dotnet@v1
1818
with:
1919
dotnet-version: 6.0.x
20+
- name: Setup .NET 8
21+
uses: actions/setup-dotnet@v1
22+
with:
23+
dotnet-version: 8.0.x
2024
- name: Restore dependencies
2125
run: dotnet restore
2226
- name: Build

Diff for: test/F23.StringSimilarity.Tests/DamerauTest.cs

+3-4
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
using System;
2626
using System.Diagnostics.CodeAnalysis;
27-
using System.Text;
2827
using F23.StringSimilarity.Tests.TestUtil;
2928
using Xunit;
3029

@@ -48,11 +47,11 @@ public void TestDistance(string s1, string s2, double expected)
4847

4948
// test char span version
5049
Assert.Equal(expected, actual: instance.Distance(s1.AsSpan(), s2.AsSpan()));
51-
50+
5251
// test byte span version
5352
Assert.Equal(expected, actual: instance.Distance<byte>(
54-
Encoding.Latin1.GetBytes(s1).AsSpan(),
55-
Encoding.Latin1.GetBytes(s2).AsSpan()));
53+
EncodingUtil.Latin1.GetBytes(s1).AsSpan(),
54+
EncodingUtil.Latin1.GetBytes(s2).AsSpan()));
5655
}
5756

5857
[Fact]

Diff for: test/F23.StringSimilarity.Tests/F23.StringSimilarity.Tests.csproj

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFrameworks>net6.0;net8.0</TargetFrameworks>
5+
<TargetFrameworks Condition="$([MSBuild]::IsOsPlatform('Windows'))">$(TargetFrameworks);net481</TargetFrameworks>
6+
<LangVersion>latest</LangVersion>
7+
<Nullable>enable</Nullable>
58
</PropertyGroup>
69

710
<ItemGroup>

Diff for: test/F23.StringSimilarity.Tests/JaroWinklerTest.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ public void TestSimilarity(string s1, string s2, double expected)
5959
Assert.Equal(
6060
expected,
6161
actual: instance.Similarity<byte>(
62-
System.Text.Encoding.Latin1.GetBytes(s1).AsSpan(),
63-
System.Text.Encoding.Latin1.GetBytes(s2).AsSpan()),
62+
EncodingUtil.Latin1.GetBytes(s1).AsSpan(),
63+
EncodingUtil.Latin1.GetBytes(s2).AsSpan()),
6464
precision: 6 // 0.000001
6565
);
6666
}

Diff for: test/F23.StringSimilarity.Tests/LevenshteinTest.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ public void TestDistance(string s1, string s2, double expected)
5050

5151
// test byte span version
5252
Assert.Equal(expected, actual: instance.Distance<byte>(
53-
System.Text.Encoding.Latin1.GetBytes(s1).AsSpan(),
54-
System.Text.Encoding.Latin1.GetBytes(s2).AsSpan()));
53+
EncodingUtil.Latin1.GetBytes(s1).AsSpan(),
54+
EncodingUtil.Latin1.GetBytes(s2).AsSpan()));
5555
}
5656

5757
[InlineData("My string", "M string2", 4, 2.0)]
@@ -70,8 +70,8 @@ public void TestDistanceWithLimits(string s1, string s2, int limit, double expec
7070

7171
// test byte span version
7272
Assert.Equal(expected, actual: instance.Distance<byte>(
73-
System.Text.Encoding.Latin1.GetBytes(s1).AsSpan(),
74-
System.Text.Encoding.Latin1.GetBytes(s2).AsSpan(),
73+
EncodingUtil.Latin1.GetBytes(s1).AsSpan(),
74+
EncodingUtil.Latin1.GetBytes(s2).AsSpan(),
7575
limit));
7676
}
7777

Diff for: test/F23.StringSimilarity.Tests/LongestCommonSubsequenceTest.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ public void TestDistance(string s1, string s2, double expected)
5151

5252
// test byte span version
5353
Assert.Equal(expected, actual: instance.Distance<byte>(
54-
System.Text.Encoding.Latin1.GetBytes(s1).AsSpan(),
55-
System.Text.Encoding.Latin1.GetBytes(s2).AsSpan()));
54+
EncodingUtil.Latin1.GetBytes(s1).AsSpan(),
55+
EncodingUtil.Latin1.GetBytes(s2).AsSpan()));
5656
}
5757

5858
[Fact]

Diff for: test/F23.StringSimilarity.Tests/OptimalStringAlignmentTest.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ public void TestDistance(string s1, string s2, double expected)
6969
Assert.Equal(
7070
expected: expected,
7171
actual: instance.Distance<byte>(
72-
System.Text.Encoding.Latin1.GetBytes(s1).AsSpan(),
73-
System.Text.Encoding.Latin1.GetBytes(s2).AsSpan()),
72+
EncodingUtil.Latin1.GetBytes(s1).AsSpan(),
73+
EncodingUtil.Latin1.GetBytes(s2).AsSpan()),
7474
precision: 0 // 0.0
7575
);
7676
}
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System.Text;
2+
3+
namespace F23.StringSimilarity.Tests.TestUtil;
4+
5+
internal class EncodingUtil
6+
{
7+
public static Encoding Latin1 =>
8+
#if NET5_0_OR_GREATER
9+
Encoding.Latin1;
10+
#else
11+
Encoding.GetEncoding("ISO-8859-1");
12+
#endif
13+
}

0 commit comments

Comments
 (0)