Skip to content

Commit 6fc0b16

Browse files
committedDec 26, 2024·
#43 Moved TestShared to tests folder
1 parent b5778be commit 6fc0b16

File tree

20 files changed

+78
-71
lines changed

20 files changed

+78
-71
lines changed
 

‎LyricsScraperNET.TestShared/Attributes/RegionalTestAttribute.cs

-54
This file was deleted.

‎LyricsScraperNET.sln

+4-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{A5F953E9
1313
EndProject
1414
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LyricsScraperNET.IntegrationTest", "Tests\LyricsScraperNET.IntegrationTest\LyricsScraperNET.IntegrationTest.csproj", "{962D6B6F-F397-4B26-90F0-7B6D9CD0E4F9}"
1515
EndProject
16-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LyricsScraperNET.TestShared", "LyricsScraperNET.TestShared\LyricsScraperNET.TestShared.csproj", "{ED51A731-05DE-4F59-9EC0-77BE5F957432}"
16+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LyricsScraperNET.TestShared", "Tests\LyricsScraperNET.TestShared\LyricsScraperNET.TestShared.csproj", "{ED51A731-05DE-4F59-9EC0-77BE5F957432}"
17+
ProjectSection(ProjectDependencies) = postProject
18+
{240061BD-CA01-4B97-B60D-0CEEAC49125F} = {240061BD-CA01-4B97-B60D-0CEEAC49125F}
19+
EndProjectSection
1720
EndProject
1821
Global
1922
GlobalSection(SolutionConfigurationPlatforms) = preSolution

‎Tests/LyricsScraperNET.IntegrationTest/LyricsScraperNET.IntegrationTest.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
</ItemGroup>
2828

2929
<ItemGroup>
30-
<ProjectReference Include="..\..\LyricsScraperNET.TestShared\LyricsScraperNET.TestShared.csproj" />
30+
<ProjectReference Include="..\LyricsScraperNET.TestShared\LyricsScraperNET.TestShared.csproj" />
3131
<ProjectReference Include="..\..\LyricsScraperNET\LyricsScraperNET.csproj" />
3232
</ItemGroup>
3333

‎Tests/LyricsScraperNET.IntegrationTest/Providers/AZLyrics/AZLyricsProviderTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using LyricsScraperNET.Providers.AZLyrics;
44
using LyricsScraperNET.Providers.Models;
55
using LyricsScraperNET.TestShared.Providers;
6-
using LyricsScraperNET.UnitTest.TestModel;
6+
using LyricsScraperNET.TestShared.TestModel;
77
using System.Threading.Tasks;
88
using System.Threading;
99
using Xunit;

‎Tests/LyricsScraperNET.IntegrationTest/Providers/Genius/GeniusProviderTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using LyricsScraperNET.Providers.Genius;
44
using LyricsScraperNET.Providers.Models;
55
using LyricsScraperNET.TestShared.Providers;
6-
using LyricsScraperNET.UnitTest.TestModel;
6+
using LyricsScraperNET.TestShared.TestModel;
77
using System.Threading.Tasks;
88
using System.Threading;
99
using Xunit;

‎Tests/LyricsScraperNET.IntegrationTest/Providers/LyricFind/LyricFindProviderTest.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
using LyricsScraperNET.Models.Responses;
33
using LyricsScraperNET.Providers.LyricFind;
44
using LyricsScraperNET.Providers.Models;
5+
using LyricsScraperNET.TestShared.Attributes;
56
using LyricsScraperNET.TestShared.Providers;
6-
using LyricsScraperNET.UnitTest.TestModel;
7-
using System.Threading.Tasks;
7+
using LyricsScraperNET.TestShared.TestModel;
88
using System.Threading;
9+
using System.Threading.Tasks;
910
using Xunit;
1011

1112
namespace LyricsScraperNET.IntegrationTest.Providers.LyricFind

‎Tests/LyricsScraperNET.IntegrationTest/Providers/Musixmatch/MusixmatchProviderTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using LyricsScraperNET.Providers.Models;
44
using LyricsScraperNET.Providers.Musixmatch;
55
using LyricsScraperNET.TestShared.Providers;
6-
using LyricsScraperNET.UnitTest.TestModel;
6+
using LyricsScraperNET.TestShared.TestModel;
77
using System.Threading.Tasks;
88
using System.Threading;
99
using Xunit;

‎Tests/LyricsScraperNET.IntegrationTest/Providers/SongLyrics/SongLyricsProviderTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using LyricsScraperNET.Providers.Models;
44
using LyricsScraperNET.Providers.SongLyrics;
55
using LyricsScraperNET.TestShared.Providers;
6-
using LyricsScraperNET.UnitTest.TestModel;
6+
using LyricsScraperNET.TestShared.TestModel;
77
using System.Threading.Tasks;
88
using System.Threading;
99
using Xunit;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
using System;
2+
using System.Globalization;
3+
using System.Linq;
4+
using Xunit;
5+
6+
namespace LyricsScraperNET.TestShared.Attributes
7+
{
8+
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
9+
public class RegionalTestTheoryAttribute : TheoryAttribute
10+
{
11+
public RegionalTestTheoryAttribute(string[] includeRegions = null, string[] excludeRegions = null)
12+
{
13+
if (!ShouldRunTest(includeRegions, excludeRegions))
14+
{
15+
Skip = GenerateSkipMessage(includeRegions, excludeRegions);
16+
}
17+
}
18+
19+
private static bool ShouldRunTest(string[] includeRegions, string[] excludeRegions)
20+
{
21+
var currentRegion = RegionInfo.CurrentRegion.Name;
22+
23+
// If regions are specified to be included, run only if the current region is in the list.
24+
if (includeRegions != null && includeRegions.Length > 0)
25+
{
26+
if (!includeRegions.Any(code => string.Equals(currentRegion, code, StringComparison.OrdinalIgnoreCase)))
27+
{
28+
return false;
29+
}
30+
}
31+
32+
// If regions are specified to be excluded, do not run if the current region is in the list.
33+
if (excludeRegions != null && excludeRegions.Length > 0)
34+
{
35+
if (excludeRegions.Any(code => string.Equals(currentRegion, code, StringComparison.OrdinalIgnoreCase)))
36+
{
37+
return false;
38+
}
39+
}
40+
41+
return true;
42+
}
43+
44+
private static string GenerateSkipMessage(string[] includeRegions, string[] excludeRegions)
45+
{
46+
var includeMessage = includeRegions != null && includeRegions.Length > 0
47+
? $"Include: {string.Join(", ", includeRegions)}."
48+
: string.Empty;
49+
50+
var excludeMessage = excludeRegions != null && excludeRegions.Length > 0
51+
? $"Exclude: {string.Join(", ", excludeRegions)}."
52+
: string.Empty;
53+
54+
return $"Test skipped. {includeMessage} {excludeMessage}".Trim();
55+
}
56+
}
57+
}

‎LyricsScraperNET.TestShared/Extensions/ExternalProviderExtensions.cs ‎Tests/LyricsScraperNET.TestShared/Extensions/ExternalProviderExtensions.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using FakeItEasy;
22
using LyricsScraperNET.Network.Abstract;
33
using LyricsScraperNET.Providers.Abstract;
4-
using LyricsScraperNET.UnitTest.TestModel;
4+
using LyricsScraperNET.TestShared.TestModel;
55
using System;
66
using System.Threading;
77

‎LyricsScraperNET.TestShared/LyricsScraperNET.TestShared.csproj ‎Tests/LyricsScraperNET.TestShared/LyricsScraperNET.TestShared.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
</ItemGroup>
1616

1717
<ItemGroup>
18-
<ProjectReference Include="..\LyricsScraperNET\LyricsScraperNET.csproj" />
18+
<ProjectReference Include="..\..\LyricsScraperNET\LyricsScraperNET.csproj" />
1919
</ItemGroup>
2020

2121
</Project>

‎LyricsScraperNET.TestShared/Providers/ProviderTestBase.cs ‎Tests/LyricsScraperNET.TestShared/Providers/ProviderTestBase.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using LyricsScraperNET.Models.Requests;
22
using LyricsScraperNET.TestShared.Utils;
3-
using LyricsScraperNET.UnitTest.TestModel;
3+
using LyricsScraperNET.TestShared.TestModel;
44
using System;
55
using System.Collections.Generic;
66

‎LyricsScraperNET.TestShared/TestModel/LyricsTestData.cs ‎Tests/LyricsScraperNET.TestShared/TestModel/LyricsTestData.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System.IO;
22

3-
namespace LyricsScraperNET.UnitTest.TestModel
3+
namespace LyricsScraperNET.TestShared.TestModel
44
{
55
public class LyricsTestData
66
{

‎Tests/LyricsScraperNET.UnitTest/LyricsScraperNET.UnitTest.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
</ItemGroup>
3939

4040
<ItemGroup>
41-
<ProjectReference Include="..\..\LyricsScraperNET.TestShared\LyricsScraperNET.TestShared.csproj" />
41+
<ProjectReference Include="..\LyricsScraperNET.TestShared\LyricsScraperNET.TestShared.csproj" />
4242
<ProjectReference Include="..\..\LyricsScraperNET\LyricsScraperNET.csproj" />
4343
</ItemGroup>
4444

‎Tests/LyricsScraperNET.UnitTest/Providers/AZLyrics/AZLyricsProviderTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using LyricsScraperNET.Providers.Models;
55
using LyricsScraperNET.TestShared.Extensions;
66
using LyricsScraperNET.TestShared.Providers;
7-
using LyricsScraperNET.UnitTest.TestModel;
7+
using LyricsScraperNET.TestShared.TestModel;
88
using System.Threading;
99
using Xunit;
1010

‎Tests/LyricsScraperNET.UnitTest/Providers/Genius/GeniusProviderTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using LyricsScraperNET.Providers.Models;
55
using LyricsScraperNET.TestShared.Extensions;
66
using LyricsScraperNET.TestShared.Providers;
7-
using LyricsScraperNET.UnitTest.TestModel;
7+
using LyricsScraperNET.TestShared.TestModel;
88
using System.Threading;
99
using Xunit;
1010

‎Tests/LyricsScraperNET.UnitTest/Providers/LyricFind/LyricFindProviderTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using LyricsScraperNET.Providers.Models;
55
using LyricsScraperNET.TestShared.Extensions;
66
using LyricsScraperNET.TestShared.Providers;
7-
using LyricsScraperNET.UnitTest.TestModel;
7+
using LyricsScraperNET.TestShared.TestModel;
88
using System.Threading;
99
using Xunit;
1010

‎Tests/LyricsScraperNET.UnitTest/Providers/SongLyrics/SongLyricsProviderTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using LyricsScraperNET.Providers.SongLyrics;
55
using LyricsScraperNET.TestShared.Extensions;
66
using LyricsScraperNET.TestShared.Providers;
7-
using LyricsScraperNET.UnitTest.TestModel;
7+
using LyricsScraperNET.TestShared.TestModel;
88
using System.Threading;
99
using Xunit;
1010

0 commit comments

Comments
 (0)
Please sign in to comment.