diff --git a/BHTest.sln b/BHTest.sln
deleted file mode 100644
index a873d45f38..0000000000
--- a/BHTest.sln
+++ /dev/null
@@ -1,103 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.30114.105
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BizHawk", "BizHawk", "{18029756-5080-47CA-8394-29E97EBADE0A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.BizInvoke", "src\BizHawk.BizInvoke\BizHawk.BizInvoke.csproj", "{AE0D4E5A-E79D-4D61-8AAF-8C9CECA74A1D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Bizware.BizwareGL", "src\BizHawk.Bizware.BizwareGL\BizHawk.Bizware.BizwareGL.csproj", "{69A1ACDF-A462-44F8-801F-23CE83E564D7}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Client.Common", "src\BizHawk.Client.Common\BizHawk.Client.Common.csproj", "{91004B3C-1291-4818-8E3E-DC137EFC222C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Client.DiscoHawk", "src\BizHawk.Client.DiscoHawk\BizHawk.Client.DiscoHawk.csproj", "{1DA7BBBF-7E7F-4789-976B-E9673B5F680B}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Client.EmuHawk", "src\BizHawk.Client.EmuHawk\BizHawk.Client.EmuHawk.csproj", "{D27DC2E0-01FA-46C0-973A-D4D9A167A1BB}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Common", "src\BizHawk.Common\BizHawk.Common.csproj", "{E27CE12D-2193-4EF2-888E-08D050DE9989}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Emulation.Common", "src\BizHawk.Emulation.Common\BizHawk.Emulation.Common.csproj", "{6EB18E36-461F-408F-AF01-E06223E62FDE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Emulation.Cores", "src\BizHawk.Emulation.Cores\BizHawk.Emulation.Cores.csproj", "{4D54A255-1105-40EA-B6D1-9E98FAEA8DE6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Emulation.DiscSystem", "src\BizHawk.Emulation.DiscSystem\BizHawk.Emulation.DiscSystem.csproj", "{4B7254EB-877B-41FE-BC4F-BCEF385AC7AB}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.WinForms.Controls", "src\BizHawk.WinForms.Controls\BizHawk.WinForms.Controls.csproj", "{07A75EED-B831-4114-B6C7-97E11EBF5A6E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Version", "src\Version\Version.csproj", "{DAB862DA-7F19-4126-B814-6EDA219C4F8A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Common.Tests", "src\BHTest.BizHawk.Common\BizHawk.Common.Tests.csproj", "{4F509929-5B71-45B4-996C-44C1B89CB23F}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {AE0D4E5A-E79D-4D61-8AAF-8C9CECA74A1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AE0D4E5A-E79D-4D61-8AAF-8C9CECA74A1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AE0D4E5A-E79D-4D61-8AAF-8C9CECA74A1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AE0D4E5A-E79D-4D61-8AAF-8C9CECA74A1D}.Release|Any CPU.Build.0 = Release|Any CPU
- {69A1ACDF-A462-44F8-801F-23CE83E564D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {69A1ACDF-A462-44F8-801F-23CE83E564D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {69A1ACDF-A462-44F8-801F-23CE83E564D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {69A1ACDF-A462-44F8-801F-23CE83E564D7}.Release|Any CPU.Build.0 = Release|Any CPU
- {91004B3C-1291-4818-8E3E-DC137EFC222C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {91004B3C-1291-4818-8E3E-DC137EFC222C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {91004B3C-1291-4818-8E3E-DC137EFC222C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {91004B3C-1291-4818-8E3E-DC137EFC222C}.Release|Any CPU.Build.0 = Release|Any CPU
- {1DA7BBBF-7E7F-4789-976B-E9673B5F680B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1DA7BBBF-7E7F-4789-976B-E9673B5F680B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1DA7BBBF-7E7F-4789-976B-E9673B5F680B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1DA7BBBF-7E7F-4789-976B-E9673B5F680B}.Release|Any CPU.Build.0 = Release|Any CPU
- {D27DC2E0-01FA-46C0-973A-D4D9A167A1BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D27DC2E0-01FA-46C0-973A-D4D9A167A1BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D27DC2E0-01FA-46C0-973A-D4D9A167A1BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D27DC2E0-01FA-46C0-973A-D4D9A167A1BB}.Release|Any CPU.Build.0 = Release|Any CPU
- {E27CE12D-2193-4EF2-888E-08D050DE9989}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E27CE12D-2193-4EF2-888E-08D050DE9989}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E27CE12D-2193-4EF2-888E-08D050DE9989}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E27CE12D-2193-4EF2-888E-08D050DE9989}.Release|Any CPU.Build.0 = Release|Any CPU
- {6EB18E36-461F-408F-AF01-E06223E62FDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6EB18E36-461F-408F-AF01-E06223E62FDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6EB18E36-461F-408F-AF01-E06223E62FDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6EB18E36-461F-408F-AF01-E06223E62FDE}.Release|Any CPU.Build.0 = Release|Any CPU
- {4D54A255-1105-40EA-B6D1-9E98FAEA8DE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4D54A255-1105-40EA-B6D1-9E98FAEA8DE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4D54A255-1105-40EA-B6D1-9E98FAEA8DE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4D54A255-1105-40EA-B6D1-9E98FAEA8DE6}.Release|Any CPU.Build.0 = Release|Any CPU
- {4B7254EB-877B-41FE-BC4F-BCEF385AC7AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4B7254EB-877B-41FE-BC4F-BCEF385AC7AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4B7254EB-877B-41FE-BC4F-BCEF385AC7AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4B7254EB-877B-41FE-BC4F-BCEF385AC7AB}.Release|Any CPU.Build.0 = Release|Any CPU
- {07A75EED-B831-4114-B6C7-97E11EBF5A6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {07A75EED-B831-4114-B6C7-97E11EBF5A6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {07A75EED-B831-4114-B6C7-97E11EBF5A6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {07A75EED-B831-4114-B6C7-97E11EBF5A6E}.Release|Any CPU.Build.0 = Release|Any CPU
- {DAB862DA-7F19-4126-B814-6EDA219C4F8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DAB862DA-7F19-4126-B814-6EDA219C4F8A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DAB862DA-7F19-4126-B814-6EDA219C4F8A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DAB862DA-7F19-4126-B814-6EDA219C4F8A}.Release|Any CPU.Build.0 = Release|Any CPU
- {4F509929-5B71-45B4-996C-44C1B89CB23F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4F509929-5B71-45B4-996C-44C1B89CB23F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4F509929-5B71-45B4-996C-44C1B89CB23F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4F509929-5B71-45B4-996C-44C1B89CB23F}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {AE0D4E5A-E79D-4D61-8AAF-8C9CECA74A1D} = {18029756-5080-47CA-8394-29E97EBADE0A}
- {69A1ACDF-A462-44F8-801F-23CE83E564D7} = {18029756-5080-47CA-8394-29E97EBADE0A}
- {91004B3C-1291-4818-8E3E-DC137EFC222C} = {18029756-5080-47CA-8394-29E97EBADE0A}
- {1DA7BBBF-7E7F-4789-976B-E9673B5F680B} = {18029756-5080-47CA-8394-29E97EBADE0A}
- {D27DC2E0-01FA-46C0-973A-D4D9A167A1BB} = {18029756-5080-47CA-8394-29E97EBADE0A}
- {E27CE12D-2193-4EF2-888E-08D050DE9989} = {18029756-5080-47CA-8394-29E97EBADE0A}
- {6EB18E36-461F-408F-AF01-E06223E62FDE} = {18029756-5080-47CA-8394-29E97EBADE0A}
- {4D54A255-1105-40EA-B6D1-9E98FAEA8DE6} = {18029756-5080-47CA-8394-29E97EBADE0A}
- {4B7254EB-877B-41FE-BC4F-BCEF385AC7AB} = {18029756-5080-47CA-8394-29E97EBADE0A}
- {07A75EED-B831-4114-B6C7-97E11EBF5A6E} = {18029756-5080-47CA-8394-29E97EBADE0A}
- {DAB862DA-7F19-4126-B814-6EDA219C4F8A} = {18029756-5080-47CA-8394-29E97EBADE0A}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {80241161-4FB4-4219-B5AE-21BCE1C2889A}
- EndGlobalSection
-EndGlobal
diff --git a/BizHawk.sln b/BizHawk.sln
index 3e61ff4ce6..12dd4ec6b3 100644
--- a/BizHawk.sln
+++ b/BizHawk.sln
@@ -14,12 +14,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Common", "src\BizHa
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13} = {0CE8B337-08E3-4602-BF10-C4D4C75D2F13}
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BizHawk.Client.EmuHawk", "src\BizHawk.Client.EmuHawk\BizHawk.Client.EmuHawk.csproj", "{DD448B37-BA3F-4544-9754-5406E8094723}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Client.EmuHawk", "src\BizHawk.Client.EmuHawk\BizHawk.Client.EmuHawk.csproj", "{DD448B37-BA3F-4544-9754-5406E8094723}"
ProjectSection(ProjectDependencies) = postProject
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13} = {0CE8B337-08E3-4602-BF10-C4D4C75D2F13}
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BizHawk.Client.DiscoHawk", "src\BizHawk.Client.DiscoHawk\BizHawk.Client.DiscoHawk.csproj", "{C4366030-6D03-424B-AE53-F4F43BB217C3}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Client.DiscoHawk", "src\BizHawk.Client.DiscoHawk\BizHawk.Client.DiscoHawk.csproj", "{C4366030-6D03-424B-AE53-F4F43BB217C3}"
ProjectSection(ProjectDependencies) = postProject
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13} = {0CE8B337-08E3-4602-BF10-C4D4C75D2F13}
EndProjectSection
@@ -49,6 +49,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.BizInvoke", "src\Bi
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.WinForms.Controls", "src\BizHawk.WinForms.Controls\BizHawk.WinForms.Controls.csproj", "{B5A2214B-3CB0-48C4-8DB1-98B38D48AC4A}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{74391239-9BC1-40CE-A3D7-180737C5302A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BizHawk.Common.Tests", "src\BizHawk.Tests\BizHawk.Common.Tests.csproj", "{284E19E2-661D-4A7D-864A-AC2FC91E7C25}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -99,6 +103,10 @@ Global
{B5A2214B-3CB0-48C4-8DB1-98B38D48AC4A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B5A2214B-3CB0-48C4-8DB1-98B38D48AC4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B5A2214B-3CB0-48C4-8DB1-98B38D48AC4A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {284E19E2-661D-4A7D-864A-AC2FC91E7C25}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {284E19E2-661D-4A7D-864A-AC2FC91E7C25}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {284E19E2-661D-4A7D-864A-AC2FC91E7C25}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {284E19E2-661D-4A7D-864A-AC2FC91E7C25}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -107,10 +115,11 @@ Global
{24A0AA3C-B25F-4197-B23D-476D6462DBA0} = {B51F1139-3D2C-41BE-A762-EF1F9B41EACA}
{DD448B37-BA3F-4544-9754-5406E8094723} = {B51F1139-3D2C-41BE-A762-EF1F9B41EACA}
{C4366030-6D03-424B-AE53-F4F43BB217C3} = {B51F1139-3D2C-41BE-A762-EF1F9B41EACA}
- {B5A2214B-3CB0-48C4-8DB1-98B38D48AC4A} = {B51F1139-3D2C-41BE-A762-EF1F9B41EACA}
{F51946EA-827F-4D82-B841-1F2F6D060312} = {3627C08B-3E43-4224-9DA4-40BD69495FBC}
{E1A23168-B571-411C-B360-2229E7225E0E} = {3627C08B-3E43-4224-9DA4-40BD69495FBC}
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA} = {3627C08B-3E43-4224-9DA4-40BD69495FBC}
+ {B5A2214B-3CB0-48C4-8DB1-98B38D48AC4A} = {B51F1139-3D2C-41BE-A762-EF1F9B41EACA}
+ {284E19E2-661D-4A7D-864A-AC2FC91E7C25} = {74391239-9BC1-40CE-A3D7-180737C5302A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9B9E4316-9185-412E-B951-A63355ACA956}
diff --git a/src/BHTest.BizHawk.Common/BHTest.BizHawk.Common.csproj b/src/BHTest.BizHawk.Common/BHTest.BizHawk.Common.csproj
deleted file mode 100644
index bbebad1462..0000000000
--- a/src/BHTest.BizHawk.Common/BHTest.BizHawk.Common.csproj
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/src/BHTest.BizHawk.Common/BizHawk.Common.Tests.csproj b/src/BizHawk.Tests/BizHawk.Common.Tests.csproj
similarity index 91%
rename from src/BHTest.BizHawk.Common/BizHawk.Common.Tests.csproj
rename to src/BizHawk.Tests/BizHawk.Common.Tests.csproj
index 1ab0261225..1b2da62668 100644
--- a/src/BHTest.BizHawk.Common/BizHawk.Common.Tests.csproj
+++ b/src/BizHawk.Tests/BizHawk.Common.Tests.csproj
@@ -14,6 +14,7 @@
+
diff --git a/src/BHTest.BizHawk.Common/Common/StringExtensions/StringExtensionTests.cs b/src/BizHawk.Tests/Common/StringExtensions/StringExtensionTests.cs
similarity index 100%
rename from src/BHTest.BizHawk.Common/Common/StringExtensions/StringExtensionTests.cs
rename to src/BizHawk.Tests/Common/StringExtensions/StringExtensionTests.cs