mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-03-21 17:48:28 -05:00
Port tests to .Net Core (#2156)
* Rewrite tests with XUnit and .Net Core * Add better "because" message * Skipping test that was not ready & convert the fact to a theory * Tweak casing * Convert select date tests to theories * Make the GetStringList load lock safer
This commit is contained in:
parent
d5c22b1e51
commit
9c87ad2977
|
|
@ -32,7 +32,7 @@ public static IEnumerable<PKM> GeneratePKMs(PKM pk, ITrainerInfo info, int[] mov
|
|||
#if DEBUG
|
||||
var la = new LegalityAnalysis(result);
|
||||
if (!la.Valid)
|
||||
throw new Exception();
|
||||
throw new Exception("Legality analysis of generated Pokémon is invalid");
|
||||
#endif
|
||||
yield return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ public static partial class Util
|
|||
private static readonly Dictionary<string, string> resourceNameMap = new Dictionary<string, string>();
|
||||
private static readonly Dictionary<string, string[]> stringListCache = new Dictionary<string, string[]>();
|
||||
|
||||
private static object getStringListLoadLock = new object();
|
||||
|
||||
#region String Lists
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -85,7 +87,15 @@ public static string[] GetStringList(string f)
|
|||
string[] rawlist = txt.Split('\n');
|
||||
for (int i = 0; i < rawlist.Length; i++)
|
||||
rawlist[i] = rawlist[i].TrimEnd('\r');
|
||||
stringListCache.Add(f, rawlist);
|
||||
|
||||
lock (getStringListLoadLock) // Make sure only one thread can write to the cache
|
||||
{
|
||||
if (!stringListCache.ContainsKey(f)) // Check cache again in case of race condition
|
||||
{
|
||||
stringListCache.Add(f, rawlist);
|
||||
}
|
||||
}
|
||||
|
||||
return (string[])rawlist.Clone();
|
||||
}
|
||||
|
||||
|
|
|
|||
47
PKHeX.sln
47
PKHeX.sln
|
|
@ -3,8 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
|||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26430.4
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PKHeX.Tests", "Tests\PKHeX.Tests\PKHeX.Tests.csproj", "{8E2499BC-C11A-4809-8737-66D35A625425}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{7C0598C9-DDF3-4ACC-B15D-6A626ADB7530}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0137B955-AED7-4769-BDFE-637034CA9F8A}"
|
||||
|
|
@ -15,7 +13,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PKHeX.WinForms", "PKHeX.WinForms\PKHeX.WinForms.csproj", "{D1B91861-A448-4762-A313-C7BC179F4415}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PKHeX.Core", "PKHeX.Core\PKHeX.Core.csproj", "{279E59F2-50EA-475D-8BA4-FA69F0578C0D}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PKHeX.Core", "PKHeX.Core\PKHeX.Core.csproj", "{279E59F2-50EA-475D-8BA4-FA69F0578C0D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PKHeX.Core.Tests", "Tests\PKHeX.Core.Tests\PKHeX.Core.Tests.csproj", "{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
|
@ -31,22 +31,6 @@ Global
|
|||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.ClickOnce|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.ClickOnce|Any CPU.Build.0 = Release|Any CPU
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.ClickOnce|x86.ActiveCfg = Release|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.ClickOnce|x86.Build.0 = Release|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Debug|x86.Build.0 = Debug|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Mono-Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Mono-Debug|x86.ActiveCfg = Debug|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Mono-Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Mono-Release|x86.ActiveCfg = Release|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Release|x86.ActiveCfg = Release|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Release|x86.Build.0 = Release|x86
|
||||
{D1B91861-A448-4762-A313-C7BC179F4415}.ClickOnce|Any CPU.ActiveCfg = ClickOnce|Any CPU
|
||||
{D1B91861-A448-4762-A313-C7BC179F4415}.ClickOnce|Any CPU.Build.0 = ClickOnce|Any CPU
|
||||
{D1B91861-A448-4762-A313-C7BC179F4415}.ClickOnce|x86.ActiveCfg = Release|x86
|
||||
|
|
@ -87,11 +71,34 @@ Global
|
|||
{279E59F2-50EA-475D-8BA4-FA69F0578C0D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{279E59F2-50EA-475D-8BA4-FA69F0578C0D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{279E59F2-50EA-475D-8BA4-FA69F0578C0D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.ClickOnce|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.ClickOnce|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.ClickOnce|x86.ActiveCfg = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.ClickOnce|x86.Build.0 = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Mono-Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Mono-Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Mono-Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Mono-Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Mono-Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Mono-Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Mono-Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Mono-Release|x86.Build.0 = Release|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425} = {7C0598C9-DDF3-4ACC-B15D-6A626ADB7530}
|
||||
{C3B5B74F-ACE8-4FB2-A917-0DEDBFD5703B} = {7C0598C9-DDF3-4ACC-B15D-6A626ADB7530}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {AAD7224E-2087-43E8-A7C9-D5555BFBB3B9}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user