diff --git a/README.fa.md b/README.fa.md
index 9eec6edb0..3ebcd9355 100644
--- a/README.fa.md
+++ b/README.fa.md
@@ -44,30 +44,13 @@ https://spectreconsole.net/
مثالها
-برای بررسی `Spectre.Console` در عمل، ابزار سراسری
-[dotnet-example](https://github.com/patriksvensson/dotnet-example)
-را نصب کنید.
-
-
-> dotnet tool restore
-
-
-حالا شما میتوانید مثالهای موجود در این مخزن را لیست کنید:
-
-
-> dotnet example
-
-
-و برای اجرای مثال:
-
-
-> dotnet example tables
-
+To see `Spectre.Console` in action, please see the
+[examples repository](https://github.com/spectreconsole/examples).
مجوز
-Copyright © Patrik Svensson, Phil Scott
+Copyright © Patrik Svensson, Phil Scott, Nils Andresen, Cédric Luthi, Frank Ray
همانطور که Spectre.Console تحت مجوز MIT ارائه شده است؛ برای کسب اطلاعات بیشتر به مجوز مراجعه کنید.
diff --git a/README.md b/README.md
index 85a6e1f15..9724aaa5c 100644
--- a/README.md
+++ b/README.md
@@ -49,25 +49,8 @@ https://spectreconsole.net
## Examples
-To see `Spectre.Console` in action, install the
-[dotnet-example](https://github.com/patriksvensson/dotnet-example)
-global tool.
-
-```
-> dotnet tool restore
-```
-
-Now you can list available examples in this repository:
-
-```
-> dotnet example
-```
-
-And to run an example:
-
-```
-> dotnet example tables
-```
+To see `Spectre.Console` in action, please see the
+[examples repository](https://github.com/spectreconsole/examples).
## Sponsors
@@ -100,7 +83,7 @@ This project is supported by the [.NET Foundation](https://dotnetfoundation.org)
## License
-Copyright © Patrik Svensson, Phil Scott, Nils Andresen
+Copyright © Patrik Svensson, Phil Scott, Nils Andresen, Cédric Luthi, Frank Ray
`Spectre.Console` is provided as-is under the MIT license. For more information see LICENSE.
diff --git a/README.pt-BR.md b/README.pt-BR.md
index f88a3e7de..267dab194 100644
--- a/README.pt-BR.md
+++ b/README.pt-BR.md
@@ -43,24 +43,8 @@ https://spectreconsole.net/
## Exemplos
-Para ver o `Spectre.Console` em ação, instale a ferramenta global
-[dotnet-example](https://github.com/patriksvensson/dotnet-example).
-
-```
-> dotnet tool restore
-```
-
-Agora você pode listar os exemplos disponíveis neste repositório:
-
-```
-> dotnet example
-```
-
-E para executar um exemplo:
-
-```
-> dotnet example tables
-```
+To see `Spectre.Console` in action, please see the
+[examples repository](https://github.com/spectreconsole/examples).
## Patrocinadores
@@ -83,7 +67,7 @@ Eu estou muito agradecido.
## Licença
-Copyright © Patrik Svensson, Phil Scott, Nils Andresen
+Copyright © Patrik Svensson, Phil Scott, Nils Andresen, Cédric Luthi, Frank Ray
Spectre.Console é fornecido no estado em que se encontra sob a licença do MIT. Para obter mais informações, consulte o arquivo [LICENSE](LICENSE.md).
diff --git a/README.zh.md b/README.zh.md
index 981bb5bb2..f6298737e 100644
--- a/README.zh.md
+++ b/README.zh.md
@@ -39,23 +39,8 @@ https://spectreconsole.net/
## 例子
-如果想直接运行`Spectre.Console`的例子,则需要安装[dotnet-example](https://github.com/patriksvensson/dotnet-example)工具。
-
-```
-> dotnet tool restore
-```
-
-然后你可以列出仓库里的所有例子:
-
-```
-> dotnet example
-```
-
-跑一个看看效果:
-
-```
-> dotnet example tables
-```
+To see `Spectre.Console` in action, please see the
+[examples repository](https://github.com/spectreconsole/examples).
## Sponsors
@@ -77,7 +62,7 @@ https://spectreconsole.net/
## 开源许可
-版权所有 © Patrik Svensson, Phil Scott, Nils Andresen
+版权所有 © Patrik Svensson, Phil Scott, Nils Andresen, Cédric Luthi, Frank Ray
Spectre.Console 基于 MIT 协议提供。查看 LICENSE 文件了解更多信息。
diff --git a/build.cake b/build.cake
index a51f98502..a79bcc41f 100644
--- a/build.cake
+++ b/build.cake
@@ -35,49 +35,11 @@ Task("Build")
});
});
-Task("Build-Analyzer")
- .IsDependentOn("Build")
- .Does(context =>
-{
- DotNetBuild("./src/Spectre.Console.Analyzer.sln", new DotNetBuildSettings {
- Configuration = configuration,
- Verbosity = DotNetVerbosity.Minimal,
- NoLogo = true,
- NoIncremental = context.HasArgument("rebuild"),
- MSBuildSettings = new DotNetMSBuildSettings()
- .TreatAllWarningsAs(MSBuildTreatAllWarningsAs.Error)
- });
-});
-
-Task("Build-Examples")
- .IsDependentOn("Build")
- .Does(context =>
-{
- DotNetBuild("./examples/Examples.sln", new DotNetBuildSettings {
- Configuration = configuration,
- Verbosity = DotNetVerbosity.Minimal,
- NoLogo = true,
- NoIncremental = context.HasArgument("rebuild"),
- MSBuildSettings = new DotNetMSBuildSettings()
- .TreatAllWarningsAs(MSBuildTreatAllWarningsAs.Error)
- });
-});
-
Task("Test")
.IsDependentOn("Build")
- .IsDependentOn("Build-Analyzer")
- .IsDependentOn("Build-Examples")
.Does(context =>
{
- DotNetTest("./test/Spectre.Console.Tests/Spectre.Console.Tests.csproj", new DotNetTestSettings {
- Configuration = configuration,
- Verbosity = DotNetVerbosity.Minimal,
- NoLogo = true,
- NoRestore = true,
- NoBuild = true,
- });
-
- DotNetTest("./test/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj", new DotNetTestSettings {
+ DotNetTest("./src/Tests/Spectre.Console.Tests/Spectre.Console.Tests.csproj", new DotNetTestSettings {
Configuration = configuration,
Verbosity = DotNetVerbosity.Minimal,
NoLogo = true,
@@ -85,7 +47,7 @@ Task("Test")
NoBuild = true,
});
- DotNetTest("./test/Spectre.Console.Analyzer.Tests/Spectre.Console.Analyzer.Tests.csproj", new DotNetTestSettings {
+ DotNetTest("./src/Tests/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj", new DotNetTestSettings {
Configuration = configuration,
Verbosity = DotNetVerbosity.Minimal,
NoLogo = true,
@@ -108,17 +70,6 @@ Task("Package")
MSBuildSettings = new DotNetMSBuildSettings()
.TreatAllWarningsAs(MSBuildTreatAllWarningsAs.Error)
});
-
- context.DotNetPack($"./src/Spectre.Console.Analyzer.sln", new DotNetPackSettings {
- Configuration = configuration,
- Verbosity = DotNetVerbosity.Minimal,
- NoLogo = true,
- NoRestore = true,
- NoBuild = true,
- OutputDirectory = "./.artifacts",
- MSBuildSettings = new DotNetMSBuildSettings()
- .TreatAllWarningsAs(MSBuildTreatAllWarningsAs.Error)
- });
});
Task("Publish-NuGet")
diff --git a/examples/Cli/Delegates/BarSettings.cs b/examples/Cli/Delegates/BarSettings.cs
deleted file mode 100644
index 3c8948439..000000000
--- a/examples/Cli/Delegates/BarSettings.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.ComponentModel;
-using Spectre.Console.Cli;
-
-namespace Delegates;
-
-public static partial class Program
-{
- public sealed class BarSettings : CommandSettings
- {
- [CommandOption("--count")]
- [Description("The number of bars to print")]
- [DefaultValue(3)]
- public int Count { get; set; }
- }
-}
diff --git a/examples/Cli/Delegates/Delegates.csproj b/examples/Cli/Delegates/Delegates.csproj
deleted file mode 100644
index 233fbdff2..000000000
--- a/examples/Cli/Delegates/Delegates.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- Exe
- net8.0
- false
- Delegates
- Demonstrates how to specify commands as delegates.
- Cli
- false
-
-
-
-
-
-
-
diff --git a/examples/Cli/Delegates/Program.cs b/examples/Cli/Delegates/Program.cs
deleted file mode 100644
index a91df345b..000000000
--- a/examples/Cli/Delegates/Program.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System.Threading.Tasks;
-using Spectre.Console;
-using Spectre.Console.Cli;
-
-namespace Delegates;
-
-public static partial class Program
-{
- public static int Main(string[] args)
- {
- var app = new CommandApp();
- app.Configure(config =>
- {
- config.AddDelegate("foo", Foo)
- .WithDescription("Foos the bars");
-
- config.AddDelegate("bar", Bar)
- .WithDescription("Bars the foos");
-
- config.AddAsyncDelegate("fooAsync", FooAsync)
- .WithDescription("Foos the bars asynchronously");
-
- config.AddAsyncDelegate("barAsync", BarAsync)
- .WithDescription("Bars the foos asynchronously");
- });
-
- return app.Run(args);
- }
-
- private static int Foo(CommandContext context)
- {
- AnsiConsole.WriteLine("Foo");
- return 0;
- }
-
- private static int Bar(CommandContext context, BarSettings settings)
- {
- for (var index = 0; index < settings.Count; index++)
- {
- AnsiConsole.WriteLine("Bar");
- }
-
- return 0;
- }
-
- private static Task FooAsync(CommandContext context)
- {
- AnsiConsole.WriteLine("Foo");
- return Task.FromResult(0);
- }
-
- private static Task BarAsync(CommandContext context, BarSettings settings)
- {
- for (var index = 0; index < settings.Count; index++)
- {
- AnsiConsole.WriteLine("Bar");
- }
-
- return Task.FromResult(0);
- }
-}
diff --git a/examples/Cli/Demo/Commands/Add/AddPackageCommand.cs b/examples/Cli/Demo/Commands/Add/AddPackageCommand.cs
deleted file mode 100644
index 1166d08cc..000000000
--- a/examples/Cli/Demo/Commands/Add/AddPackageCommand.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-using System.ComponentModel;
-using Demo.Utilities;
-using Spectre.Console.Cli;
-
-namespace Demo.Commands.Add;
-
-[Description("Add a NuGet package reference to the project.")]
-public sealed class AddPackageCommand : Command
-{
- public sealed class Settings : AddSettings
- {
- [CommandArgument(0, "")]
- [Description("The package reference to add.")]
- public string PackageName { get; set; }
-
- [CommandOption("-v|--version ")]
- [Description("The version of the package to add.")]
- public string Version { get; set; }
-
- [CommandOption("-f|--framework ")]
- [Description("Add the reference only when targeting a specific framework.")]
- public string Framework { get; set; }
-
- [CommandOption("--no-restore")]
- [Description("Add the reference without performing restore preview and compatibility check.")]
- public bool NoRestore { get; set; }
-
- [CommandOption("--source ")]
- [Description("The NuGet package source to use during the restore.")]
- public string Source { get; set; }
-
- [CommandOption("--package-directory ")]
- [Description("The directory to restore packages to.")]
- public string PackageDirectory { get; set; }
-
- [CommandOption("--interactive")]
- [Description("Allows the command to stop and wait for user input or action (for example to complete authentication).")]
- public bool Interactive { get; set; }
- }
-
- public override int Execute(CommandContext context, Settings settings)
- {
- SettingsDumper.Dump(settings);
- return 0;
- }
-}
diff --git a/examples/Cli/Demo/Commands/Add/AddReferenceCommand.cs b/examples/Cli/Demo/Commands/Add/AddReferenceCommand.cs
deleted file mode 100644
index 33e2b8a80..000000000
--- a/examples/Cli/Demo/Commands/Add/AddReferenceCommand.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.ComponentModel;
-using Demo.Utilities;
-using Spectre.Console.Cli;
-
-namespace Demo.Commands.Add;
-
-public sealed class AddReferenceCommand : Command
-{
- public sealed class Settings : AddSettings
- {
- [CommandArgument(0, "")]
- [Description("The package reference to add.")]
- public string ProjectPath { get; set; }
-
- [CommandOption("-f|--framework ")]
- [Description("Add the reference only when targeting a specific framework.")]
- public string Framework { get; set; }
-
- [CommandOption("--interactive")]
- [Description("Allows the command to stop and wait for user input or action (for example to complete authentication).")]
- public bool Interactive { get; set; }
- }
-
- public override int Execute(CommandContext context, Settings settings)
- {
- SettingsDumper.Dump(settings);
- return 0;
- }
-}
diff --git a/examples/Cli/Demo/Commands/Add/AddSettings.cs b/examples/Cli/Demo/Commands/Add/AddSettings.cs
deleted file mode 100644
index c8f02ec91..000000000
--- a/examples/Cli/Demo/Commands/Add/AddSettings.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using System.ComponentModel;
-using Spectre.Console.Cli;
-
-namespace Demo.Commands.Add;
-
-public abstract class AddSettings : CommandSettings
-{
- [CommandArgument(0, "")]
- [Description("The project file to operate on. If a file is not specified, the command will search the current directory for one.")]
- public string Project { get; set; }
-}
diff --git a/examples/Cli/Demo/Commands/Run/RunCommand.cs b/examples/Cli/Demo/Commands/Run/RunCommand.cs
deleted file mode 100644
index a1aa675e4..000000000
--- a/examples/Cli/Demo/Commands/Run/RunCommand.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-using System.ComponentModel;
-using Demo.Utilities;
-using Spectre.Console.Cli;
-
-namespace Demo.Commands.Run;
-
-[Description("Build and run a .NET project output.")]
-public sealed class RunCommand : Command
-{
- public sealed class Settings : CommandSettings
- {
- [CommandOption("-c|--configuration ")]
- [Description("The configuration to run for. The default for most projects is '[grey]Debug[/]'.")]
- [DefaultValue("Debug")]
- public string Configuration { get; set; }
-
- [CommandOption("-f|--framework ")]
- [Description("The target framework to run for. The target framework must also be specified in the project file.")]
- public string Framework { get; set; }
-
- [CommandOption("-r|--runtime ")]
- [Description("The target runtime to run for.")]
- public string RuntimeIdentifier { get; set; }
-
- [CommandOption("-p|--project ")]
- [Description("The path to the project file to run (defaults to the current directory if there is only one project).")]
- public string ProjectPath { get; set; }
-
- [CommandOption("--launch-profile ")]
- [Description("The name of the launch profile (if any) to use when launching the application.")]
- public string LaunchProfile { get; set; }
-
- [CommandOption("--no-launch-profile")]
- [Description("Do not attempt to use [grey]launchSettings.json[/] to configure the application.")]
- public bool NoLaunchProfile { get; set; }
-
- [CommandOption("--no-build")]
- [Description("Do not build the project before running. Implies [grey]--no-restore[/].")]
- public bool NoBuild { get; set; }
-
- [CommandOption("--interactive")]
- [Description("Allows the command to stop and wait for user input or action (for example to complete authentication).")]
- public string Interactive { get; set; }
-
- [CommandOption("--no-restore")]
- [Description("Do not restore the project before building.")]
- public bool NoRestore { get; set; }
-
- [CommandOption("--verbosity ")]
- [Description("Set the MSBuild verbosity level. Allowed values are q[grey]uiet[/], m[grey]inimal[/], n[grey]ormal[/], d[grey]etailed[/], and diag[grey]nostic[/].")]
- [TypeConverter(typeof(VerbosityConverter))]
- [DefaultValue(Verbosity.Normal)]
- public Verbosity Verbosity { get; set; }
-
- [CommandOption("--no-dependencies")]
- [Description("Do not restore project-to-project references and only restore the specified project.")]
- public bool NoDependencies { get; set; }
-
- [CommandOption("--force")]
- [Description("Force all dependencies to be resolved even if the last restore was successful. This is equivalent to deleting [grey]project.assets.json[/].")]
- public bool Force { get; set; }
- }
-
- public override int Execute(CommandContext context, Settings settings)
- {
- SettingsDumper.Dump(settings);
- return 0;
- }
-}
diff --git a/examples/Cli/Demo/Commands/Serve/ServeCommand.cs b/examples/Cli/Demo/Commands/Serve/ServeCommand.cs
deleted file mode 100644
index 58d127101..000000000
--- a/examples/Cli/Demo/Commands/Serve/ServeCommand.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using System;
-using System.ComponentModel;
-using Demo.Utilities;
-using Spectre.Console.Cli;
-
-namespace Demo.Commands.Serve;
-
-[Description("Launches a web server in the current working directory and serves all files in it.")]
-public sealed class ServeCommand : Command
-{
- public sealed class Settings : CommandSettings
- {
- [CommandOption("-p|--port ")]
- [Description("Port to use. Defaults to [grey]8080[/]. Use [grey]0[/] for a dynamic port.")]
- public int Port { get; set; }
-
- [CommandOption("-o|--open-browser [BROWSER]")]
- [Description("Open a web browser when the server starts. You can also specify which browser to use. If none is specified, the default one will be used.")]
- public FlagValue OpenBrowser { get; set; }
- }
-
- public override int Execute(CommandContext context, Settings settings)
- {
- if (settings.OpenBrowser.IsSet)
- {
- var browser = settings.OpenBrowser.Value;
- if (browser != null)
- {
- Console.WriteLine($"Open in {browser}");
- }
- else
- {
- Console.WriteLine($"Open in default browser.");
- }
- }
-
- SettingsDumper.Dump(settings);
- return 0;
- }
-}
diff --git a/examples/Cli/Demo/Demo.csproj b/examples/Cli/Demo/Demo.csproj
deleted file mode 100644
index 8e4f05c73..000000000
--- a/examples/Cli/Demo/Demo.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- Exe
- net8.0
- false
- Demo
- Demonstrates the most common use cases of Spectre.Cli.
- Cli
- false
-
-
-
-
-
-
-
diff --git a/examples/Cli/Demo/Program.cs b/examples/Cli/Demo/Program.cs
deleted file mode 100644
index f6c340329..000000000
--- a/examples/Cli/Demo/Program.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using Demo.Commands;
-using Demo.Commands.Add;
-using Demo.Commands.Run;
-using Demo.Commands.Serve;
-using Spectre.Console.Cli;
-
-namespace Demo;
-
-public static class Program
-{
- public static int Main(string[] args)
- {
- var app = new CommandApp();
- app.Configure(config =>
- {
- config.SetApplicationName("fake-dotnet");
- config.ValidateExamples();
- config.AddExample("run", "--no-build");
-
- // Run
- config.AddCommand("run");
-
- // Add
- config.AddBranch("add", add =>
- {
- add.SetDescription("Add a package or reference to a .NET project");
- add.AddCommand("package");
- add.AddCommand("reference");
- });
-
- // Serve
- config.AddCommand("serve")
- .WithExample("serve", "-o", "firefox")
- .WithExample("serve", "--port", "80", "-o", "firefox");
- });
-
- return app.Run(args);
- }
-}
diff --git a/examples/Cli/Demo/Utilities/SettingsDumper.cs b/examples/Cli/Demo/Utilities/SettingsDumper.cs
deleted file mode 100644
index 4445927bb..000000000
--- a/examples/Cli/Demo/Utilities/SettingsDumper.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using Spectre.Console;
-using Spectre.Console.Cli;
-
-namespace Demo.Utilities;
-
-public static class SettingsDumper
-{
- public static void Dump(CommandSettings settings)
- {
- var table = new Table().RoundedBorder();
- table.AddColumn("[grey]Name[/]");
- table.AddColumn("[grey]Value[/]");
-
- var properties = settings.GetType().GetProperties();
- foreach (var property in properties)
- {
- var value = property.GetValue(settings)
- ?.ToString()
- ?.Replace("[", "[[");
-
- table.AddRow(
- property.Name,
- value ?? "[grey]null[/]");
- }
-
- AnsiConsole.Write(table);
- }
-}
diff --git a/examples/Cli/Demo/Verbosity.cs b/examples/Cli/Demo/Verbosity.cs
deleted file mode 100644
index 84fc3b471..000000000
--- a/examples/Cli/Demo/Verbosity.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace Demo;
-
-public enum Verbosity
-{
- Quiet,
- Minimal,
- Normal,
- Detailed,
- Diagnostic
-}
-
-public sealed class VerbosityConverter : TypeConverter
-{
- private readonly Dictionary _lookup;
-
- public VerbosityConverter()
- {
- _lookup = new Dictionary(StringComparer.OrdinalIgnoreCase)
- {
- { "q", Verbosity.Quiet },
- { "quiet", Verbosity.Quiet },
- { "m", Verbosity.Minimal },
- { "minimal", Verbosity.Minimal },
- { "n", Verbosity.Normal },
- { "normal", Verbosity.Normal },
- { "d", Verbosity.Detailed },
- { "detailed", Verbosity.Detailed },
- { "diag", Verbosity.Diagnostic },
- { "diagnostic", Verbosity.Diagnostic }
- };
- }
-
- public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
- {
- if (value is string stringValue)
- {
- var result = _lookup.TryGetValue(stringValue, out var verbosity);
- if (!result)
- {
- const string format = "The value '{0}' is not a valid verbosity.";
- var message = string.Format(CultureInfo.InvariantCulture, format, value);
- throw new InvalidOperationException(message);
- }
- return verbosity;
- }
- throw new NotSupportedException("Can't convert value to verbosity.");
- }
-}
diff --git a/examples/Cli/Dynamic/Dynamic.csproj b/examples/Cli/Dynamic/Dynamic.csproj
deleted file mode 100644
index 739192f2f..000000000
--- a/examples/Cli/Dynamic/Dynamic.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- Exe
- net8.0
- false
- Dynamic
- Demonstrates how to define dynamic commands.
- Cli
- false
-
-
-
-
-
-
-
diff --git a/examples/Cli/Dynamic/MyCommand.cs b/examples/Cli/Dynamic/MyCommand.cs
deleted file mode 100644
index 60128cbba..000000000
--- a/examples/Cli/Dynamic/MyCommand.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System;
-using Spectre.Console;
-using Spectre.Console.Cli;
-
-namespace Dynamic;
-
-public sealed class MyCommand : Command
-{
- public override int Execute(CommandContext context)
- {
- if (!(context.Data is int data))
- {
- throw new InvalidOperationException("Command has no associated data.");
-
- }
-
- AnsiConsole.WriteLine("Value = {0}", data);
- return 0;
- }
-}
diff --git a/examples/Cli/Dynamic/Program.cs b/examples/Cli/Dynamic/Program.cs
deleted file mode 100644
index 9dc916f08..000000000
--- a/examples/Cli/Dynamic/Program.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System.Linq;
-using Spectre.Console.Cli;
-
-namespace Dynamic;
-
-public static class Program
-{
- public static int Main(string[] args)
- {
- var app = new CommandApp();
- app.Configure(config =>
- {
- foreach (var index in Enumerable.Range(1, 10))
- {
- config.AddCommand($"c{index}")
- .WithDescription($"Prints the number {index}")
- .WithData(index);
- }
- });
-
- return app.Run(args);
- }
-}
diff --git a/examples/Cli/Help/CustomHelpProvider.cs b/examples/Cli/Help/CustomHelpProvider.cs
deleted file mode 100644
index fd9c01fb3..000000000
--- a/examples/Cli/Help/CustomHelpProvider.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Linq;
-using Spectre.Console;
-using Spectre.Console.Cli;
-using Spectre.Console.Cli.Help;
-using Spectre.Console.Rendering;
-
-namespace Help;
-
-///
-/// Example showing how to extend the built-in Spectre.Console help provider
-/// by rendering a custom banner at the top of the help information
-///
-internal class CustomHelpProvider : HelpProvider
-{
- public CustomHelpProvider(ICommandAppSettings settings)
- : base(settings)
- {
- }
-
- public override IEnumerable GetHeader(ICommandModel model, ICommandInfo? command)
- {
- return new[]
- {
- new Text("--------------------------------------"), Text.NewLine,
- new Text("--- CUSTOM HELP PROVIDER ---"), Text.NewLine,
- new Text("--------------------------------------"), Text.NewLine,
- Text.NewLine,
- };
- }
-}
\ No newline at end of file
diff --git a/examples/Cli/Help/DefaultCommand.cs b/examples/Cli/Help/DefaultCommand.cs
deleted file mode 100644
index 71613d0a9..000000000
--- a/examples/Cli/Help/DefaultCommand.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using Spectre.Console;
-using Spectre.Console.Cli;
-
-namespace Help;
-
-public sealed class DefaultCommand : Command
-{
- private IAnsiConsole _console;
-
- public DefaultCommand(IAnsiConsole console)
- {
- _console = console;
- }
-
- public override int Execute(CommandContext context)
- {
- _console.WriteLine("Hello world");
- return 0;
- }
-}
\ No newline at end of file
diff --git a/examples/Cli/Help/Help.csproj b/examples/Cli/Help/Help.csproj
deleted file mode 100644
index d93c525d6..000000000
--- a/examples/Cli/Help/Help.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- Exe
- net8.0
- enable
- enable
- Help
- Demonstrates how to extend the built-in Spectre.Console help provider to render a custom banner at the top of the help information.
- Cli
- false
-
-
-
-
-
-
-
diff --git a/examples/Cli/Help/Program.cs b/examples/Cli/Help/Program.cs
deleted file mode 100644
index aba42b037..000000000
--- a/examples/Cli/Help/Program.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Spectre.Console.Cli;
-using Spectre.Console.Cli.Help;
-
-namespace Help;
-
-public static class Program
-{
- public static int Main(string[] args)
- {
- var app = new CommandApp();
-
- app.Configure(config =>
- {
- // Register the custom help provider
- config.SetHelpProvider(new CustomHelpProvider(config.Settings));
-
- // Render an unstyled help text for maximum accessibility
- config.Settings.HelpProviderStyles = null;
- });
-
- return app.Run(args);
- }
-}
diff --git a/examples/Cli/Injection/Commands/DefaultCommand.cs b/examples/Cli/Injection/Commands/DefaultCommand.cs
deleted file mode 100644
index b31cc8a21..000000000
--- a/examples/Cli/Injection/Commands/DefaultCommand.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System;
-using System.ComponentModel;
-using Spectre.Console.Cli;
-
-namespace Injection.Commands;
-
-public sealed class DefaultCommand : Command
-{
- private readonly IGreeter _greeter;
-
- public sealed class Settings : CommandSettings
- {
- [CommandOption("-n|--name ")]
- [Description("The person or thing to greet.")]
- [DefaultValue("World")]
- public string Name { get; set; }
- }
-
- public DefaultCommand(IGreeter greeter)
- {
- _greeter = greeter ?? throw new ArgumentNullException(nameof(greeter));
- }
-
- public override int Execute(CommandContext context, Settings settings)
- {
- _greeter.Greet(settings.Name);
- return 0;
- }
-}
diff --git a/examples/Cli/Injection/IGreeter.cs b/examples/Cli/Injection/IGreeter.cs
deleted file mode 100644
index 1ff49fb74..000000000
--- a/examples/Cli/Injection/IGreeter.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using Spectre.Console;
-
-namespace Injection;
-
-public interface IGreeter
-{
- void Greet(string name);
-}
-
-public sealed class HelloWorldGreeter : IGreeter
-{
- public void Greet(string name)
- {
- AnsiConsole.WriteLine($"Hello {name}!");
- }
-}
diff --git a/examples/Cli/Injection/Infrastructure/TypeRegistrar.cs b/examples/Cli/Injection/Infrastructure/TypeRegistrar.cs
deleted file mode 100644
index 6651e6794..000000000
--- a/examples/Cli/Injection/Infrastructure/TypeRegistrar.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using System;
-using Microsoft.Extensions.DependencyInjection;
-using Spectre.Console.Cli;
-
-namespace Injection.Infrastructure;
-
-public sealed class TypeRegistrar : ITypeRegistrar
-{
- private readonly IServiceCollection _builder;
-
- public TypeRegistrar(IServiceCollection builder)
- {
- _builder = builder;
- }
-
- public ITypeResolver Build()
- {
- return new TypeResolver(_builder.BuildServiceProvider());
- }
-
- public void Register(Type service, Type implementation)
- {
- _builder.AddSingleton(service, implementation);
- }
-
- public void RegisterInstance(Type service, object implementation)
- {
- _builder.AddSingleton(service, implementation);
- }
-
- public void RegisterLazy(Type service, Func
diff --git a/resources/scripts/Generator/Generator.sln b/resources/scripts/Generator/Generator.sln
index daea4307d..894e13072 100644
--- a/resources/scripts/Generator/Generator.sln
+++ b/resources/scripts/Generator/Generator.sln
@@ -7,13 +7,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Generator", "Generator.cspr
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console", "..\..\..\src\Spectre.Console\Spectre.Console.csproj", "{F75B882A-06DB-426B-9580-A7302D32E684}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.ImageSharp", "..\..\..\src\Spectre.Console.ImageSharp\Spectre.Console.ImageSharp.csproj", "{112A37CB-1EFE-4A90-BD5B-5437038BE276}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.ImageSharp", "..\..\..\src\Extensions\Spectre.Console.ImageSharp\Spectre.Console.ImageSharp.csproj", "{112A37CB-1EFE-4A90-BD5B-5437038BE276}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Library", "Library", "{CFE7445D-F971-429D-B6E6-9E68456AE00F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Cli", "..\..\..\src\Spectre.Console.Cli\Spectre.Console.Cli.csproj", "{18A3F32D-FECD-463B-A194-6EE74EA9E5EC}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spectre.Console.Json", "..\..\..\src\Spectre.Console.Json\Spectre.Console.Json.csproj", "{6C96C268-CEEE-478A-A36F-E1450AC33B73}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spectre.Console.Json", "..\..\..\src\Extensions\Spectre.Console.Json\Spectre.Console.Json.csproj", "{6C96C268-CEEE-478A-A36F-E1450AC33B73}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/src/.editorconfig b/src/.editorconfig
index a28cf1d18..e01b77d55 100644
--- a/src/.editorconfig
+++ b/src/.editorconfig
@@ -98,4 +98,7 @@ dotnet_diagnostic.IDE0044.severity = warning
dotnet_diagnostic.RCS1047.severity = none
# RCS1090: Call 'ConfigureAwait(false)'.
-dotnet_diagnostic.RCS1090.severity = warning
\ No newline at end of file
+dotnet_diagnostic.RCS1090.severity = warning
+
+# The file header is missing or not located at the top of the file
+dotnet_diagnostic.SA1633.severity = none
\ No newline at end of file
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index d8f66cadb..a3df95487 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -7,19 +7,35 @@
true
true
false
+ enable
+ $(NoWarn);SA1633
true
+
+
+ true
+ \
+ Properties/Package/Logo.png
+
+
+ true
+ \README.md
+ Properties/Package/README.md
+
+
+
A library that makes it easier to create beautiful console applications.
Patrik Svensson, Phil Scott, Nils Andresen, Cédric Luthi, Frank Ray
Patrik Svensson, Phil Scott, Nils Andresen, Cédric Luthi, Frank Ray
git
https://github.com/spectreconsole/spectre.console
- small-logo.png
+ logo.png
+ README.md
True
https://github.com/spectreconsole/spectre.console
MIT
@@ -31,14 +47,18 @@
true
+
+
+
+
-
-
-
+
+
+
All
-
+
All
diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props
new file mode 100644
index 000000000..b98339b97
--- /dev/null
+++ b/src/Directory.Packages.props
@@ -0,0 +1,30 @@
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Spectre.Console.ImageSharp/CanvasImage.cs b/src/Extensions/Spectre.Console.ImageSharp/CanvasImage.cs
similarity index 100%
rename from src/Spectre.Console.ImageSharp/CanvasImage.cs
rename to src/Extensions/Spectre.Console.ImageSharp/CanvasImage.cs
diff --git a/src/Spectre.Console.ImageSharp/CanvasImageExtensions.cs b/src/Extensions/Spectre.Console.ImageSharp/CanvasImageExtensions.cs
similarity index 100%
rename from src/Spectre.Console.ImageSharp/CanvasImageExtensions.cs
rename to src/Extensions/Spectre.Console.ImageSharp/CanvasImageExtensions.cs
diff --git a/src/Extensions/Spectre.Console.ImageSharp/Spectre.Console.ImageSharp.csproj b/src/Extensions/Spectre.Console.ImageSharp/Spectre.Console.ImageSharp.csproj
new file mode 100644
index 000000000..024122772
--- /dev/null
+++ b/src/Extensions/Spectre.Console.ImageSharp/Spectre.Console.ImageSharp.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net8.0;net7.0;net6.0
+ true
+ A library that extends Spectre.Console with ImageSharp superpowers.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Spectre.Console.Json/IJsonParser.cs b/src/Extensions/Spectre.Console.Json/IJsonParser.cs
similarity index 100%
rename from src/Spectre.Console.Json/IJsonParser.cs
rename to src/Extensions/Spectre.Console.Json/IJsonParser.cs
diff --git a/src/Spectre.Console.Json/JsonBuilder.cs b/src/Extensions/Spectre.Console.Json/JsonBuilder.cs
similarity index 100%
rename from src/Spectre.Console.Json/JsonBuilder.cs
rename to src/Extensions/Spectre.Console.Json/JsonBuilder.cs
diff --git a/src/Spectre.Console.Json/JsonParser.cs b/src/Extensions/Spectre.Console.Json/JsonParser.cs
similarity index 100%
rename from src/Spectre.Console.Json/JsonParser.cs
rename to src/Extensions/Spectre.Console.Json/JsonParser.cs
diff --git a/src/Spectre.Console.Json/JsonText.cs b/src/Extensions/Spectre.Console.Json/JsonText.cs
similarity index 100%
rename from src/Spectre.Console.Json/JsonText.cs
rename to src/Extensions/Spectre.Console.Json/JsonText.cs
diff --git a/src/Spectre.Console.Json/JsonTextExtensions.cs b/src/Extensions/Spectre.Console.Json/JsonTextExtensions.cs
similarity index 100%
rename from src/Spectre.Console.Json/JsonTextExtensions.cs
rename to src/Extensions/Spectre.Console.Json/JsonTextExtensions.cs
diff --git a/src/Spectre.Console.Json/JsonTextStyles.cs b/src/Extensions/Spectre.Console.Json/JsonTextStyles.cs
similarity index 100%
rename from src/Spectre.Console.Json/JsonTextStyles.cs
rename to src/Extensions/Spectre.Console.Json/JsonTextStyles.cs
diff --git a/src/Spectre.Console.Json/JsonToken.cs b/src/Extensions/Spectre.Console.Json/JsonToken.cs
similarity index 100%
rename from src/Spectre.Console.Json/JsonToken.cs
rename to src/Extensions/Spectre.Console.Json/JsonToken.cs
diff --git a/src/Spectre.Console.Json/JsonTokenReader.cs b/src/Extensions/Spectre.Console.Json/JsonTokenReader.cs
similarity index 100%
rename from src/Spectre.Console.Json/JsonTokenReader.cs
rename to src/Extensions/Spectre.Console.Json/JsonTokenReader.cs
diff --git a/src/Spectre.Console.Json/JsonTokenType.cs b/src/Extensions/Spectre.Console.Json/JsonTokenType.cs
similarity index 100%
rename from src/Spectre.Console.Json/JsonTokenType.cs
rename to src/Extensions/Spectre.Console.Json/JsonTokenType.cs
diff --git a/src/Spectre.Console.Json/JsonTokenizer.cs b/src/Extensions/Spectre.Console.Json/JsonTokenizer.cs
similarity index 100%
rename from src/Spectre.Console.Json/JsonTokenizer.cs
rename to src/Extensions/Spectre.Console.Json/JsonTokenizer.cs
diff --git a/src/Spectre.Console.Json/Properties/Usings.cs b/src/Extensions/Spectre.Console.Json/Properties/Usings.cs
similarity index 100%
rename from src/Spectre.Console.Json/Properties/Usings.cs
rename to src/Extensions/Spectre.Console.Json/Properties/Usings.cs
diff --git a/src/Extensions/Spectre.Console.Json/Spectre.Console.Json.csproj b/src/Extensions/Spectre.Console.Json/Spectre.Console.Json.csproj
new file mode 100644
index 000000000..1c75fef8d
--- /dev/null
+++ b/src/Extensions/Spectre.Console.Json/Spectre.Console.Json.csproj
@@ -0,0 +1,20 @@
+
+
+
+ net8.0;net7.0;net6.0;netstandard2.0
+ true
+ true
+ A library that extends Spectre.Console with JSON superpowers.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Spectre.Console.Json/Syntax/JsonArray.cs b/src/Extensions/Spectre.Console.Json/Syntax/JsonArray.cs
similarity index 100%
rename from src/Spectre.Console.Json/Syntax/JsonArray.cs
rename to src/Extensions/Spectre.Console.Json/Syntax/JsonArray.cs
diff --git a/src/Spectre.Console.Json/Syntax/JsonBoolean.cs b/src/Extensions/Spectre.Console.Json/Syntax/JsonBoolean.cs
similarity index 100%
rename from src/Spectre.Console.Json/Syntax/JsonBoolean.cs
rename to src/Extensions/Spectre.Console.Json/Syntax/JsonBoolean.cs
diff --git a/src/Spectre.Console.Json/Syntax/JsonMember.cs b/src/Extensions/Spectre.Console.Json/Syntax/JsonMember.cs
similarity index 100%
rename from src/Spectre.Console.Json/Syntax/JsonMember.cs
rename to src/Extensions/Spectre.Console.Json/Syntax/JsonMember.cs
diff --git a/src/Spectre.Console.Json/Syntax/JsonNull.cs b/src/Extensions/Spectre.Console.Json/Syntax/JsonNull.cs
similarity index 100%
rename from src/Spectre.Console.Json/Syntax/JsonNull.cs
rename to src/Extensions/Spectre.Console.Json/Syntax/JsonNull.cs
diff --git a/src/Spectre.Console.Json/Syntax/JsonNumber.cs b/src/Extensions/Spectre.Console.Json/Syntax/JsonNumber.cs
similarity index 100%
rename from src/Spectre.Console.Json/Syntax/JsonNumber.cs
rename to src/Extensions/Spectre.Console.Json/Syntax/JsonNumber.cs
diff --git a/src/Spectre.Console.Json/Syntax/JsonObject.cs b/src/Extensions/Spectre.Console.Json/Syntax/JsonObject.cs
similarity index 100%
rename from src/Spectre.Console.Json/Syntax/JsonObject.cs
rename to src/Extensions/Spectre.Console.Json/Syntax/JsonObject.cs
diff --git a/src/Spectre.Console.Json/Syntax/JsonString.cs b/src/Extensions/Spectre.Console.Json/Syntax/JsonString.cs
similarity index 100%
rename from src/Spectre.Console.Json/Syntax/JsonString.cs
rename to src/Extensions/Spectre.Console.Json/Syntax/JsonString.cs
diff --git a/src/Spectre.Console.Json/Syntax/JsonSyntax.cs b/src/Extensions/Spectre.Console.Json/Syntax/JsonSyntax.cs
similarity index 100%
rename from src/Spectre.Console.Json/Syntax/JsonSyntax.cs
rename to src/Extensions/Spectre.Console.Json/Syntax/JsonSyntax.cs
diff --git a/src/Spectre.Console.Json/Syntax/JsonSyntaxVisitor.cs b/src/Extensions/Spectre.Console.Json/Syntax/JsonSyntaxVisitor.cs
similarity index 100%
rename from src/Spectre.Console.Json/Syntax/JsonSyntaxVisitor.cs
rename to src/Extensions/Spectre.Console.Json/Syntax/JsonSyntaxVisitor.cs
diff --git a/src/Spectre.Console.Analyzer.Sandbox/Program.cs b/src/Spectre.Console.Analyzer.Sandbox/Program.cs
deleted file mode 100644
index 65463c464..000000000
--- a/src/Spectre.Console.Analyzer.Sandbox/Program.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace Spectre.Console.Analyzer.Sandbox;
-
-///
-/// Sample sandbox for testing out analyzers.
-///
-public static class Program
-{
- ///
- /// The program's entry point.
- ///
- public static void Main()
- {
- AnsiConsole.WriteLine("Project is set up with a reference to Spectre.Console.Analyzer");
- }
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer.Sandbox/Spectre.Console.Analyzer.Sandbox.csproj b/src/Spectre.Console.Analyzer.Sandbox/Spectre.Console.Analyzer.Sandbox.csproj
deleted file mode 100644
index fe8527431..000000000
--- a/src/Spectre.Console.Analyzer.Sandbox/Spectre.Console.Analyzer.Sandbox.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- Exe
- net8.0
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Spectre.Console.Analyzer.sln b/src/Spectre.Console.Analyzer.sln
deleted file mode 100644
index 0d2c821e7..000000000
--- a/src/Spectre.Console.Analyzer.sln
+++ /dev/null
@@ -1,79 +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("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Analyzer", "Spectre.Console.Analyzer\Spectre.Console.Analyzer.csproj", "{18178142-A80D-424F-882D-DB0F787210BD}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Analyzer.Sandbox", "Spectre.Console.Analyzer.Sandbox\Spectre.Console.Analyzer.Sandbox.csproj", "{44D2E280-8FCD-4FC1-9133-F61E344FD6A6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Analyzer.Tests", "..\test\Spectre.Console.Analyzer.Tests\Spectre.Console.Analyzer.Tests.csproj", "{609D5D1B-D904-4A31-B237-A04B49910166}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console", "Spectre.Console\Spectre.Console.csproj", "{6BFF310F-9601-4E5D-BC80-118AC708D72A}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|Any CPU = Release|Any CPU
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {18178142-A80D-424F-882D-DB0F787210BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Debug|x64.ActiveCfg = Debug|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Debug|x64.Build.0 = Debug|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Debug|x86.ActiveCfg = Debug|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Debug|x86.Build.0 = Debug|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Release|Any CPU.Build.0 = Release|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Release|x64.ActiveCfg = Release|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Release|x64.Build.0 = Release|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Release|x86.ActiveCfg = Release|Any CPU
- {18178142-A80D-424F-882D-DB0F787210BD}.Release|x86.Build.0 = Release|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Debug|x64.ActiveCfg = Debug|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Debug|x64.Build.0 = Debug|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Debug|x86.ActiveCfg = Debug|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Debug|x86.Build.0 = Debug|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Release|Any CPU.Build.0 = Release|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Release|x64.ActiveCfg = Release|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Release|x64.Build.0 = Release|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Release|x86.ActiveCfg = Release|Any CPU
- {44D2E280-8FCD-4FC1-9133-F61E344FD6A6}.Release|x86.Build.0 = Release|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Debug|x64.ActiveCfg = Debug|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Debug|x64.Build.0 = Debug|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Debug|x86.ActiveCfg = Debug|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Debug|x86.Build.0 = Debug|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Release|Any CPU.Build.0 = Release|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Release|x64.ActiveCfg = Release|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Release|x64.Build.0 = Release|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Release|x86.ActiveCfg = Release|Any CPU
- {609D5D1B-D904-4A31-B237-A04B49910166}.Release|x86.Build.0 = Release|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Debug|x64.ActiveCfg = Debug|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Debug|x64.Build.0 = Debug|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Debug|x86.ActiveCfg = Debug|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Debug|x86.Build.0 = Debug|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Release|Any CPU.Build.0 = Release|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Release|x64.ActiveCfg = Release|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Release|x64.Build.0 = Release|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Release|x86.ActiveCfg = Release|Any CPU
- {6BFF310F-9601-4E5D-BC80-118AC708D72A}.Release|x86.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {3BABBA82-B60D-45CE-9C56-8B833474DD3C}
- EndGlobalSection
-EndGlobal
diff --git a/src/Spectre.Console.Analyzer.v3.ncrunchsolution b/src/Spectre.Console.Analyzer.v3.ncrunchsolution
deleted file mode 100644
index 10420ac91..000000000
--- a/src/Spectre.Console.Analyzer.v3.ncrunchsolution
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- True
- True
-
-
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Analyzers/FavorInstanceAnsiConsoleOverStaticAnalyzer.cs b/src/Spectre.Console.Analyzer/Analyzers/FavorInstanceAnsiConsoleOverStaticAnalyzer.cs
deleted file mode 100644
index 379103b0b..000000000
--- a/src/Spectre.Console.Analyzer/Analyzers/FavorInstanceAnsiConsoleOverStaticAnalyzer.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-namespace Spectre.Console.Analyzer;
-
-///
-/// Analyzer to suggest using available instances of AnsiConsole over the static methods.
-///
-[DiagnosticAnalyzer(LanguageNames.CSharp)]
-public class FavorInstanceAnsiConsoleOverStaticAnalyzer : SpectreAnalyzer
-{
- private static readonly DiagnosticDescriptor _diagnosticDescriptor =
- Descriptors.S1010_FavorInstanceAnsiConsoleOverStatic;
-
- ///
- public override ImmutableArray SupportedDiagnostics =>
- ImmutableArray.Create(_diagnosticDescriptor);
-
- ///
- protected override void AnalyzeCompilation(CompilationStartAnalysisContext compilationStartContext)
- {
- var ansiConsoleType = compilationStartContext.Compilation.GetTypeByMetadataName("Spectre.Console.AnsiConsole");
- if (ansiConsoleType == null)
- {
- return;
- }
-
- compilationStartContext.RegisterOperationAction(
- context =>
- {
- // if this operation isn't an invocation against one of the System.Console methods
- // defined in _methods then we can safely stop analyzing and return;
- var invocationOperation = (IInvocationOperation)context.Operation;
- if (!SymbolEqualityComparer.Default.Equals(invocationOperation.TargetMethod.ContainingType, ansiConsoleType))
- {
- return;
- }
-
- // if we aren't in a method then it might be too complex for us to handle.
- if (!invocationOperation.Syntax.Ancestors().OfType().Any())
- {
- return;
- }
-
- if (!HasFieldAnsiConsole(invocationOperation.Syntax) &&
- !HasParameterAnsiConsole(invocationOperation.Syntax))
- {
- return;
- }
-
- var methodSymbol = invocationOperation.TargetMethod;
-
- var displayString = SymbolDisplay.ToDisplayString(
- methodSymbol,
- SymbolDisplayFormat.CSharpShortErrorMessageFormat
- .WithParameterOptions(SymbolDisplayParameterOptions.None)
- .WithGenericsOptions(SymbolDisplayGenericsOptions.None));
-
- context.ReportDiagnostic(
- Diagnostic.Create(
- _diagnosticDescriptor,
- invocationOperation.Syntax.GetLocation(),
- displayString));
- }, OperationKind.Invocation);
- }
-
- private static bool HasParameterAnsiConsole(SyntaxNode syntaxNode)
- {
- return syntaxNode
- .Ancestors().OfType()
- .First()
- .ParameterList.Parameters
- .Any(i => i.Type?.NormalizeWhitespace()?.ToString() == "IAnsiConsole");
- }
-
- private static bool HasFieldAnsiConsole(SyntaxNode syntaxNode)
- {
- var isStatic = syntaxNode
- .Ancestors()
- .OfType()
- .First()
- .Modifiers.Any(i => i.IsKind(SyntaxKind.StaticKeyword));
-
- return syntaxNode
- .Ancestors().OfType()
- .First()
- .Members
- .OfType()
- .Any(i =>
- i.Declaration.Type.NormalizeWhitespace().ToString() == "IAnsiConsole" &&
- (!isStatic ^ i.Modifiers.Any(modifier => modifier.IsKind(SyntaxKind.StaticKeyword))));
- }
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Analyzers/NoConcurrentLiveRenderablesAnalyzer.cs b/src/Spectre.Console.Analyzer/Analyzers/NoConcurrentLiveRenderablesAnalyzer.cs
deleted file mode 100644
index bae736379..000000000
--- a/src/Spectre.Console.Analyzer/Analyzers/NoConcurrentLiveRenderablesAnalyzer.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-namespace Spectre.Console.Analyzer;
-
-///
-/// Analyzer to detect calls to live renderables within a live renderable context.
-///
-[DiagnosticAnalyzer(LanguageNames.CSharp)]
-[Shared]
-public class NoConcurrentLiveRenderablesAnalyzer : SpectreAnalyzer
-{
- private static readonly DiagnosticDescriptor _diagnosticDescriptor =
- Descriptors.S1020_AvoidConcurrentCallsToMultipleLiveRenderables;
-
- ///
- public override ImmutableArray SupportedDiagnostics =>
- ImmutableArray.Create(_diagnosticDescriptor);
-
- ///
- protected override void AnalyzeCompilation(CompilationStartAnalysisContext compilationStartContext)
- {
- var liveTypes = Constants.LiveRenderables
- .Select(i => compilationStartContext.Compilation.GetTypeByMetadataName(i))
- .Where(i => i != null)
- .ToImmutableArray();
-
- if (liveTypes.Length == 0)
- {
- return;
- }
-
- compilationStartContext.RegisterOperationAction(
- context =>
- {
- var invocationOperation = (IInvocationOperation)context.Operation;
- var methodSymbol = invocationOperation.TargetMethod;
-
- const string StartMethod = "Start";
- if (methodSymbol.Name != StartMethod)
- {
- return;
- }
-
- if (liveTypes.All(i => !SymbolEqualityComparer.Default.Equals(i, methodSymbol.ContainingType)))
- {
- return;
- }
-
- var model = context.Operation.SemanticModel!;
- var parentInvocations = invocationOperation
- .Syntax.Ancestors()
- .OfType()
- .Select(i => model.GetOperation(i, context.CancellationToken))
- .OfType()
- .ToList();
-
- if (parentInvocations.All(parent =>
- parent.TargetMethod.Name != StartMethod || !liveTypes.Contains(parent.TargetMethod.ContainingType, SymbolEqualityComparer.Default)))
- {
- return;
- }
-
- var displayString = SymbolDisplay.ToDisplayString(
- methodSymbol,
- SymbolDisplayFormat.CSharpShortErrorMessageFormat
- .WithParameterOptions(SymbolDisplayParameterOptions.None)
- .WithGenericsOptions(SymbolDisplayGenericsOptions.None));
-
- context.ReportDiagnostic(
- Diagnostic.Create(
- _diagnosticDescriptor,
- invocationOperation.Syntax.GetLocation(),
- displayString));
- }, OperationKind.Invocation);
- }
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Analyzers/NoPromptsDuringLiveRenderablesAnalyzer.cs b/src/Spectre.Console.Analyzer/Analyzers/NoPromptsDuringLiveRenderablesAnalyzer.cs
deleted file mode 100644
index 749716ead..000000000
--- a/src/Spectre.Console.Analyzer/Analyzers/NoPromptsDuringLiveRenderablesAnalyzer.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-namespace Spectre.Console.Analyzer;
-
-///
-/// Analyzer to detect calls to live renderables within a live renderable context.
-///
-[DiagnosticAnalyzer(LanguageNames.CSharp)]
-[Shared]
-public class NoPromptsDuringLiveRenderablesAnalyzer : SpectreAnalyzer
-{
- private static readonly DiagnosticDescriptor _diagnosticDescriptor =
- Descriptors.S1021_AvoidPromptCallsDuringLiveRenderables;
-
- ///
- public override ImmutableArray SupportedDiagnostics =>
- ImmutableArray.Create(_diagnosticDescriptor);
-
- ///
- protected override void AnalyzeCompilation(CompilationStartAnalysisContext compilationStartContext)
- {
- var ansiConsoleType = compilationStartContext.Compilation.GetTypeByMetadataName("Spectre.Console.AnsiConsole");
- var ansiConsoleExtensionsType = compilationStartContext.Compilation.GetTypeByMetadataName("Spectre.Console.AnsiConsoleExtensions");
-
- if (ansiConsoleType is null && ansiConsoleExtensionsType is null)
- {
- return;
- }
-
- compilationStartContext.RegisterOperationAction(
- context =>
- {
- // if this operation isn't an invocation against one of the System.Console methods
- // defined in _methods then we can safely stop analyzing and return;
- var invocationOperation = (IInvocationOperation)context.Operation;
- var methodSymbol = invocationOperation.TargetMethod;
-
- var promptMethods = ImmutableArray.Create("Ask", "Confirm", "Prompt");
- if (!promptMethods.Contains(methodSymbol.Name))
- {
- return;
- }
-
- if (!SymbolEqualityComparer.Default.Equals(methodSymbol.ContainingType, ansiConsoleType) &&
- !SymbolEqualityComparer.Default.Equals(methodSymbol.ContainingType, ansiConsoleExtensionsType))
- {
- return;
- }
-
- var model = context.Operation.SemanticModel!;
- var parentInvocations = invocationOperation
- .Syntax.Ancestors()
- .OfType()
- .Select(i => model.GetOperation(i, context.CancellationToken))
- .OfType()
- .ToList();
-
- var liveTypes = Constants.LiveRenderables
- .Select(i => context.Compilation.GetTypeByMetadataName(i))
- .ToImmutableArray();
-
- if (parentInvocations.All(parent =>
- parent.TargetMethod.Name != "Start" ||
- !liveTypes.Contains(parent.TargetMethod.ContainingType, SymbolEqualityComparer.Default)))
- {
- return;
- }
-
- var displayString = SymbolDisplay.ToDisplayString(
- methodSymbol,
- SymbolDisplayFormat.CSharpShortErrorMessageFormat
- .WithParameterOptions(SymbolDisplayParameterOptions.None)
- .WithGenericsOptions(SymbolDisplayGenericsOptions.None));
-
- context.ReportDiagnostic(
- Diagnostic.Create(
- _diagnosticDescriptor,
- invocationOperation.Syntax.GetLocation(),
- displayString));
- }, OperationKind.Invocation);
- }
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Analyzers/SpectreAnalyzer.cs b/src/Spectre.Console.Analyzer/Analyzers/SpectreAnalyzer.cs
deleted file mode 100644
index 54436c8a6..000000000
--- a/src/Spectre.Console.Analyzer/Analyzers/SpectreAnalyzer.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace Spectre.Console.Analyzer;
-
-///
-/// Base class for Spectre analyzers.
-///
-public abstract class SpectreAnalyzer : DiagnosticAnalyzer
-{
- ///
- public override void Initialize(AnalysisContext context)
- {
- context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.Analyze | GeneratedCodeAnalysisFlags.ReportDiagnostics);
- context.EnableConcurrentExecution();
-
- context.RegisterCompilationStartAction(AnalyzeCompilation);
- }
-
- ///
- /// Analyze compilation.
- ///
- /// Compilation Start Analysis Context.
- protected abstract void AnalyzeCompilation(CompilationStartAnalysisContext compilationStartContext);
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Analyzers/UseSpectreInsteadOfSystemConsoleAnalyzer.cs b/src/Spectre.Console.Analyzer/Analyzers/UseSpectreInsteadOfSystemConsoleAnalyzer.cs
deleted file mode 100644
index 9f0273932..000000000
--- a/src/Spectre.Console.Analyzer/Analyzers/UseSpectreInsteadOfSystemConsoleAnalyzer.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-namespace Spectre.Console.Analyzer;
-
-///
-/// Analyzer to enforce the use of AnsiConsole over System.Console for known methods.
-///
-[DiagnosticAnalyzer(LanguageNames.CSharp)]
-public class UseSpectreInsteadOfSystemConsoleAnalyzer : SpectreAnalyzer
-{
- private static readonly DiagnosticDescriptor _diagnosticDescriptor =
- Descriptors.S1000_UseAnsiConsoleOverSystemConsole;
-
- private static readonly string[] _methods = { "WriteLine", "Write" };
-
- ///
- public override ImmutableArray SupportedDiagnostics =>
- ImmutableArray.Create(_diagnosticDescriptor);
-
- ///
- protected override void AnalyzeCompilation(CompilationStartAnalysisContext compilationStartContext)
- {
- var systemConsoleType = compilationStartContext.Compilation.GetTypeByMetadataName("System.Console");
- var spectreConsoleType = compilationStartContext.Compilation.GetTypeByMetadataName("Spectre.Console.AnsiConsole");
- if (systemConsoleType == null || spectreConsoleType == null)
- {
- return;
- }
-
- compilationStartContext.RegisterOperationAction(
- context =>
- {
- // if this operation isn't an invocation against one of the System.Console methods
- // defined in _methods then we can safely stop analyzing and return;
- var invocationOperation = (IInvocationOperation)context.Operation;
-
- var methodName = System.Array.Find(_methods, i => i.Equals(invocationOperation.TargetMethod.Name));
- if (methodName == null)
- {
- return;
- }
-
- if (!SymbolEqualityComparer.Default.Equals(invocationOperation.TargetMethod.ContainingType, systemConsoleType))
- {
- return;
- }
-
- var methodSymbol = invocationOperation.TargetMethod;
-
- var displayString = SymbolDisplay.ToDisplayString(
- methodSymbol,
- SymbolDisplayFormat.CSharpShortErrorMessageFormat
- .WithParameterOptions(SymbolDisplayParameterOptions.None)
- .WithGenericsOptions(SymbolDisplayGenericsOptions.None));
-
- context.ReportDiagnostic(
- Diagnostic.Create(
- _diagnosticDescriptor,
- invocationOperation.Syntax.GetLocation(),
- displayString));
- }, OperationKind.Invocation);
- }
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Constants.cs b/src/Spectre.Console.Analyzer/Constants.cs
deleted file mode 100644
index e61707165..000000000
--- a/src/Spectre.Console.Analyzer/Constants.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace Spectre.Console.Analyzer;
-
-internal static class Constants
-{
- internal const string StaticInstance = "AnsiConsole";
- internal const string SpectreConsole = "Spectre.Console";
-
- internal static readonly string[] LiveRenderables =
- {
- "Spectre.Console.LiveDisplay",
- "Spectre.Console.Progress",
- "Spectre.Console.Status",
- };
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Descriptors.cs b/src/Spectre.Console.Analyzer/Descriptors.cs
deleted file mode 100644
index 592a6df52..000000000
--- a/src/Spectre.Console.Analyzer/Descriptors.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-using static Microsoft.CodeAnalysis.DiagnosticSeverity;
-using static Spectre.Console.Analyzer.Descriptors.Category;
-
-namespace Spectre.Console.Analyzer;
-
-///
-/// Code analysis descriptors.
-///
-public static class Descriptors
-{
- internal enum Category
- {
- Usage, // 1xxx
- }
-
- private static readonly ConcurrentDictionary _categoryMapping = new();
-
- private static DiagnosticDescriptor Rule(string id, string title, Category category, DiagnosticSeverity defaultSeverity, string messageFormat, string? description = null)
- {
- var helpLink = $"https://spectreconsole.net/analyzer/rules/{id.ToLowerInvariant()}";
- const bool IsEnabledByDefault = true;
- return new DiagnosticDescriptor(
- id,
- title,
- messageFormat,
- _categoryMapping.GetOrAdd(category, c => c.ToString()),
- defaultSeverity,
- IsEnabledByDefault,
- description,
- helpLink);
- }
-
- ///
- /// Gets definitions of diagnostics Spectre1000.
- ///
- public static DiagnosticDescriptor S1000_UseAnsiConsoleOverSystemConsole { get; } =
- Rule(
- "Spectre1000",
- "Use AnsiConsole instead of System.Console",
- Usage,
- Warning,
- "Use AnsiConsole instead of System.Console");
-
- ///
- /// Gets definitions of diagnostics Spectre1010.
- ///
- public static DiagnosticDescriptor S1010_FavorInstanceAnsiConsoleOverStatic { get; } =
- Rule(
- "Spectre1010",
- "Favor the use of the instance of AnsiConsole over the static helper.",
- Usage,
- Info,
- "Favor the use of the instance of AnsiConsole over the static helper.");
-
- ///
- /// Gets definitions of diagnostics Spectre1020.
- ///
- public static DiagnosticDescriptor S1020_AvoidConcurrentCallsToMultipleLiveRenderables { get; } =
- Rule(
- "Spectre1020",
- "Avoid calling other live renderables while a current renderable is running.",
- Usage,
- Warning,
- "Avoid calling other live renderables while a current renderable is running.");
-
- ///
- /// Gets definitions of diagnostics Spectre1020.
- ///
- public static DiagnosticDescriptor S1021_AvoidPromptCallsDuringLiveRenderables { get; } =
- Rule(
- "Spectre1021",
- "Avoid prompting for input while a current renderable is running.",
- Usage,
- Warning,
- "Avoid prompting for input while a current renderable is running.");
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Fixes/CodeActions/SwitchToAnsiConsoleAction.cs b/src/Spectre.Console.Analyzer/Fixes/CodeActions/SwitchToAnsiConsoleAction.cs
deleted file mode 100644
index 922524fa6..000000000
--- a/src/Spectre.Console.Analyzer/Fixes/CodeActions/SwitchToAnsiConsoleAction.cs
+++ /dev/null
@@ -1,202 +0,0 @@
-using Microsoft.CodeAnalysis.Editing;
-using Microsoft.CodeAnalysis.Simplification;
-
-namespace Spectre.Console.Analyzer.CodeActions;
-
-///
-/// Code action to change calls to System.Console to AnsiConsole.
-///
-public class SwitchToAnsiConsoleAction : CodeAction
-{
- private readonly Document _document;
- private readonly InvocationExpressionSyntax _originalInvocation;
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// Document to change.
- /// The method to change.
- /// Title of the fix.
- public SwitchToAnsiConsoleAction(Document document, InvocationExpressionSyntax originalInvocation, string title)
- {
- _document = document;
- _originalInvocation = originalInvocation;
- Title = title;
- }
-
- ///
- public override string Title { get; }
-
- ///
- public override string EquivalenceKey => Title;
-
- ///
- protected override async Task GetChangedDocumentAsync(CancellationToken cancellationToken)
- {
- var editor = await DocumentEditor.CreateAsync(_document, cancellationToken).ConfigureAwait(false);
- var compilation = editor.SemanticModel.Compilation;
-
- var operation = editor.SemanticModel.GetOperation(_originalInvocation, cancellationToken) as IInvocationOperation;
- if (operation == null)
- {
- return _document;
- }
-
- // If there is an IAnsiConsole passed into the method then we'll use it.
- // otherwise we'll check for a field level instance.
- // if neither of those exist we'll fall back to the static param.
- var spectreConsoleSymbol = compilation.GetTypeByMetadataName("Spectre.Console.AnsiConsole");
- var iansiConsoleSymbol = compilation.GetTypeByMetadataName("Spectre.Console.IAnsiConsole");
-
- ISymbol? accessibleConsoleSymbol = spectreConsoleSymbol;
- if (iansiConsoleSymbol != null)
- {
- var isInStaticContext = IsInStaticContext(operation, cancellationToken, out var parentStaticMemberStartPosition);
-
- foreach (var symbol in editor.SemanticModel.LookupSymbols(operation.Syntax.GetLocation().SourceSpan.Start))
- {
- // LookupSymbols check the accessibility of the symbol, but it can
- // suggest instance members when the current context is static.
- var symbolType = symbol switch
- {
- IParameterSymbol parameter => parameter.Type,
- IFieldSymbol field when !isInStaticContext || field.IsStatic => field.Type,
- IPropertySymbol { GetMethod: not null } property when !isInStaticContext || property.IsStatic => property.Type,
- ILocalSymbol local => local.Type,
- _ => null,
- };
-
- // Locals can be returned even if there are not valid in the current context. For instance,
- // it can return locals declared after the current location. Or it can return locals that
- // should not be accessible in a static local function.
- //
- // void Sample()
- // {
- // int local = 0;
- // static void LocalFunction() => local; <-- local is invalid here but LookupSymbols suggests it
- // }
- //
- // Parameters from the ancestor methods or local functions are also returned even if the operation is in a static local function.
- if (symbol.Kind is SymbolKind.Local or SymbolKind.Parameter)
- {
- var localPosition = symbol.DeclaringSyntaxReferences.FirstOrDefault()?.GetSyntax(cancellationToken).GetLocation().SourceSpan.Start;
-
- // The local is not part of the source tree
- if (localPosition == null)
- {
- break;
- }
-
- // The local is declared after the current expression
- if (localPosition > _originalInvocation.Span.Start)
- {
- break;
- }
-
- // The local is declared outside the static local function
- if (isInStaticContext && localPosition < parentStaticMemberStartPosition)
- {
- break;
- }
- }
-
- if (IsOrImplementSymbol(symbolType, iansiConsoleSymbol))
- {
- accessibleConsoleSymbol = symbol;
- break;
- }
- }
- }
-
- if (accessibleConsoleSymbol == null)
- {
- return _document;
- }
-
- // Replace the original invocation
- var generator = editor.Generator;
- var consoleExpression = accessibleConsoleSymbol switch
- {
- ITypeSymbol typeSymbol => generator.TypeExpression(typeSymbol, addImport: true).WithAdditionalAnnotations(Simplifier.AddImportsAnnotation),
- _ => generator.IdentifierName(accessibleConsoleSymbol.Name),
- };
-
- var newExpression = generator.InvocationExpression(generator.MemberAccessExpression(consoleExpression, operation.TargetMethod.Name), _originalInvocation.ArgumentList.Arguments)
- .WithLeadingTrivia(_originalInvocation.GetLeadingTrivia())
- .WithTrailingTrivia(_originalInvocation.GetTrailingTrivia());
-
- editor.ReplaceNode(_originalInvocation, newExpression);
-
- return editor.GetChangedDocument();
- }
-
- private static bool IsOrImplementSymbol(ITypeSymbol? symbol, ITypeSymbol interfaceSymbol)
- {
- if (symbol == null)
- {
- return false;
- }
-
- if (SymbolEqualityComparer.Default.Equals(symbol, interfaceSymbol))
- {
- return true;
- }
-
- foreach (var iface in symbol.AllInterfaces)
- {
- if (SymbolEqualityComparer.Default.Equals(iface, interfaceSymbol))
- {
- return true;
- }
- }
-
- return false;
- }
-
- private static bool IsInStaticContext(IOperation operation, CancellationToken cancellationToken, out int parentStaticMemberStartPosition)
- {
- // Local functions can be nested, and an instance local function can be declared
- // in a static local function. So, you need to continue to check ancestors when a
- // local function is not static.
- foreach (var member in operation.Syntax.Ancestors())
- {
- if (member is LocalFunctionStatementSyntax localFunction)
- {
- var symbol = operation.SemanticModel!.GetDeclaredSymbol(localFunction, cancellationToken);
- if (symbol != null && symbol.IsStatic)
- {
- parentStaticMemberStartPosition = localFunction.GetLocation().SourceSpan.Start;
- return true;
- }
- }
- else if (member is LambdaExpressionSyntax lambdaExpression)
- {
- var symbol = operation.SemanticModel!.GetSymbolInfo(lambdaExpression, cancellationToken).Symbol;
- if (symbol != null && symbol.IsStatic)
- {
- parentStaticMemberStartPosition = lambdaExpression.GetLocation().SourceSpan.Start;
- return true;
- }
- }
- else if (member is AnonymousMethodExpressionSyntax anonymousMethod)
- {
- var symbol = operation.SemanticModel!.GetSymbolInfo(anonymousMethod, cancellationToken).Symbol;
- if (symbol != null && symbol.IsStatic)
- {
- parentStaticMemberStartPosition = anonymousMethod.GetLocation().SourceSpan.Start;
- return true;
- }
- }
- else if (member is MethodDeclarationSyntax methodDeclaration)
- {
- parentStaticMemberStartPosition = methodDeclaration.GetLocation().SourceSpan.Start;
-
- var symbol = operation.SemanticModel!.GetDeclaredSymbol(methodDeclaration, cancellationToken);
- return symbol != null && symbol.IsStatic;
- }
- }
-
- parentStaticMemberStartPosition = -1;
- return false;
- }
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Fixes/FixProviders/StaticAnsiConsoleToInstanceFix.cs b/src/Spectre.Console.Analyzer/Fixes/FixProviders/StaticAnsiConsoleToInstanceFix.cs
deleted file mode 100644
index d930d5ccf..000000000
--- a/src/Spectre.Console.Analyzer/Fixes/FixProviders/StaticAnsiConsoleToInstanceFix.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-namespace Spectre.Console.Analyzer.FixProviders;
-
-///
-/// Fix provider to change System.Console calls to AnsiConsole calls.
-///
-[ExportCodeFixProvider(LanguageNames.CSharp)]
-[Shared]
-public class StaticAnsiConsoleToInstanceFix : CodeFixProvider
-{
- ///
- public sealed override ImmutableArray FixableDiagnosticIds => ImmutableArray.Create(
- Descriptors.S1010_FavorInstanceAnsiConsoleOverStatic.Id);
-
- ///
- public sealed override FixAllProvider GetFixAllProvider() => WellKnownFixAllProviders.BatchFixer;
-
- ///
- public override async Task RegisterCodeFixesAsync(CodeFixContext context)
- {
- var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false);
- if (root != null)
- {
- var methodDeclaration = root.FindNode(context.Span, getInnermostNodeForTie: true).FirstAncestorOrSelf();
- if (methodDeclaration != null)
- {
- context.RegisterCodeFix(
- new SwitchToAnsiConsoleAction(
- context.Document,
- methodDeclaration,
- "Convert static AnsiConsole calls to local instance."),
- context.Diagnostics);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Fixes/FixProviders/SystemConsoleToAnsiConsoleFix.cs b/src/Spectre.Console.Analyzer/Fixes/FixProviders/SystemConsoleToAnsiConsoleFix.cs
deleted file mode 100644
index a90d99daa..000000000
--- a/src/Spectre.Console.Analyzer/Fixes/FixProviders/SystemConsoleToAnsiConsoleFix.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-namespace Spectre.Console.Analyzer.FixProviders;
-
-///
-/// Fix provider to change System.Console calls to AnsiConsole calls.
-///
-[ExportCodeFixProvider(LanguageNames.CSharp)]
-[Shared]
-public class SystemConsoleToAnsiConsoleFix : CodeFixProvider
-{
- ///
- public sealed override ImmutableArray FixableDiagnosticIds => ImmutableArray.Create(
- Descriptors.S1000_UseAnsiConsoleOverSystemConsole.Id);
-
- ///
- public sealed override FixAllProvider GetFixAllProvider() => WellKnownFixAllProviders.BatchFixer;
-
- ///
- public override async Task RegisterCodeFixesAsync(CodeFixContext context)
- {
- var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false);
- if (root != null)
- {
- var methodDeclaration = root.FindNode(context.Span).FirstAncestorOrSelf();
- if (methodDeclaration != null)
- {
- context.RegisterCodeFix(
- new SwitchToAnsiConsoleAction(
- context.Document,
- methodDeclaration,
- "Convert static call to AnsiConsole to Spectre.Console.AnsiConsole"),
- context.Diagnostics);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Fixes/Syntax.cs b/src/Spectre.Console.Analyzer/Fixes/Syntax.cs
deleted file mode 100644
index 6cedc6884..000000000
--- a/src/Spectre.Console.Analyzer/Fixes/Syntax.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
-
-namespace Spectre.Console.Analyzer;
-
-internal static class Syntax
-{
- public static readonly UsingDirectiveSyntax SpectreUsing = UsingDirective(QualifiedName(IdentifierName("Spectre"), IdentifierName("Console")));
-}
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Properties/Usings.cs b/src/Spectre.Console.Analyzer/Properties/Usings.cs
deleted file mode 100644
index b48e0f2d9..000000000
--- a/src/Spectre.Console.Analyzer/Properties/Usings.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-global using System.Collections.Concurrent;
-global using System.Collections.Immutable;
-global using System.Composition;
-global using System.Linq;
-global using System.Threading;
-global using System.Threading.Tasks;
-global using Microsoft.CodeAnalysis;
-global using Microsoft.CodeAnalysis.CodeActions;
-global using Microsoft.CodeAnalysis.CodeFixes;
-global using Microsoft.CodeAnalysis.CSharp;
-global using Microsoft.CodeAnalysis.CSharp.Syntax;
-global using Microsoft.CodeAnalysis.Diagnostics;
-global using Microsoft.CodeAnalysis.Operations;
-global using Spectre.Console.Analyzer.CodeActions;
\ No newline at end of file
diff --git a/src/Spectre.Console.Analyzer/Spectre.Console.Analyzer.csproj b/src/Spectre.Console.Analyzer/Spectre.Console.Analyzer.csproj
deleted file mode 100644
index c25a8e1fc..000000000
--- a/src/Spectre.Console.Analyzer/Spectre.Console.Analyzer.csproj
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
- Best practice analyzers for Spectre.Console.
- netstandard2.0
- true
- true
- false
- enable
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj b/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj
index 9d8573175..4eab38555 100644
--- a/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj
+++ b/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj
@@ -2,19 +2,15 @@
net8.0;net7.0;net6.0;netstandard2.0
- enable
true
- SA1633
-
-
+
+
-
-
-
+
@@ -23,9 +19,9 @@
-
+
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/src/Spectre.Console.ImageSharp/Spectre.Console.ImageSharp.csproj b/src/Spectre.Console.ImageSharp/Spectre.Console.ImageSharp.csproj
deleted file mode 100644
index 73a306d56..000000000
--- a/src/Spectre.Console.ImageSharp/Spectre.Console.ImageSharp.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- net8.0;net7.0;net6.0
- enable
- true
- A library that extends Spectre.Console with ImageSharp superpowers.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Spectre.Console.Json/Spectre.Console.Json.csproj b/src/Spectre.Console.Json/Spectre.Console.Json.csproj
deleted file mode 100644
index 03e23d987..000000000
--- a/src/Spectre.Console.Json/Spectre.Console.Json.csproj
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- net8.0;net7.0;net6.0;netstandard2.0
- enable
- true
- true
- A library that extends Spectre.Console with JSON superpowers.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Spectre.Console.Testing/Spectre.Console.Testing.csproj b/src/Spectre.Console.Testing/Spectre.Console.Testing.csproj
index 3dd0bacd7..4b65da974 100644
--- a/src/Spectre.Console.Testing/Spectre.Console.Testing.csproj
+++ b/src/Spectre.Console.Testing/Spectre.Console.Testing.csproj
@@ -3,21 +3,15 @@
net8.0;net7.0;net6.0
false
- enable
true
Contains testing utilities for Spectre.Console.
-
+
-
-
-
-
-
diff --git a/src/Spectre.Console.sln b/src/Spectre.Console.sln
index 5b772532e..756d7c138 100644
--- a/src/Spectre.Console.sln
+++ b/src/Spectre.Console.sln
@@ -5,7 +5,7 @@ VisualStudioVersion = 17.1.32414.318
MinimumVisualStudioVersion = 15.0.26124.0
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console", "Spectre.Console\Spectre.Console.csproj", "{80DCBEF3-99D6-46C0-9C5B-42B4534D9113}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Meta", "Meta", "{20595AD4-8D75-4AF8-B6BC-9C38C160423F}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{20595AD4-8D75-4AF8-B6BC-9C38C160423F}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
Directory.Build.props = Directory.Build.props
@@ -13,28 +13,34 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Meta", "Meta", "{20595AD4-8
..\dotnet-tools.json = ..\dotnet-tools.json
..\global.json = ..\global.json
stylecop.json = stylecop.json
+ Directory.Packages.props = Directory.Packages.props
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GitHub", "GitHub", "{C3E2CB5C-1517-4C75-B59A-93D4E22BEC8D}"
ProjectSection(SolutionItems) = preProject
..\.github\workflows\ci.yaml = ..\.github\workflows\ci.yaml
- ..\.github\workflows\docs.yaml = ..\.github\workflows\docs.yaml
..\.github\workflows\publish.yaml = ..\.github\workflows\publish.yaml
EndProjectSection
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.ImageSharp", "Spectre.Console.ImageSharp\Spectre.Console.ImageSharp.csproj", "{0EFE694D-0770-4E71-BF4E-EC2B41362F79}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.ImageSharp", "Extensions\Spectre.Console.ImageSharp\Spectre.Console.ImageSharp.csproj", "{0EFE694D-0770-4E71-BF4E-EC2B41362F79}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Testing", "Spectre.Console.Testing\Spectre.Console.Testing.csproj", "{7D5F6704-8249-46DD-906C-9E66419F215F}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{E0E45070-123C-4A4D-AA98-2A780308876C}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{E0E45070-123C-4A4D-AA98-2A780308876C}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Tests", "..\test\Spectre.Console.Tests\Spectre.Console.Tests.csproj", "{60A4CADD-2B3D-48ED-89C0-1637A1F111AE}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Tests", "Tests\Spectre.Console.Tests\Spectre.Console.Tests.csproj", "{60A4CADD-2B3D-48ED-89C0-1637A1F111AE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Cli", "Spectre.Console.Cli\Spectre.Console.Cli.csproj", "{1B67B74F-1243-4381-9A2B-86EA66D135C5}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Cli.Tests", "..\test\Spectre.Console.Cli.Tests\Spectre.Console.Cli.Tests.csproj", "{E07C46D2-714F-4116-BADD-FEE09617A9C4}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Cli.Tests", "Tests\Spectre.Console.Cli.Tests\Spectre.Console.Cli.Tests.csproj", "{E07C46D2-714F-4116-BADD-FEE09617A9C4}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Json", "Spectre.Console.Json\Spectre.Console.Json.csproj", "{579E6E31-1E2F-4FE1-8F8C-9770878993E9}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Json", "Extensions\Spectre.Console.Json\Spectre.Console.Json.csproj", "{579E6E31-1E2F-4FE1-8F8C-9770878993E9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{F34EFD87-6CEA-453F-858B-094EA413578C}"
+ ProjectSection(SolutionItems) = preProject
+ Tests\Directory.Build.props = Tests\Directory.Build.props
+ Tests\.editorconfig = Tests\.editorconfig
+ EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -138,6 +144,8 @@ Global
{C3E2CB5C-1517-4C75-B59A-93D4E22BEC8D} = {20595AD4-8D75-4AF8-B6BC-9C38C160423F}
{0EFE694D-0770-4E71-BF4E-EC2B41362F79} = {E0E45070-123C-4A4D-AA98-2A780308876C}
{579E6E31-1E2F-4FE1-8F8C-9770878993E9} = {E0E45070-123C-4A4D-AA98-2A780308876C}
+ {60A4CADD-2B3D-48ED-89C0-1637A1F111AE} = {F34EFD87-6CEA-453F-858B-094EA413578C}
+ {E07C46D2-714F-4116-BADD-FEE09617A9C4} = {F34EFD87-6CEA-453F-858B-094EA413578C}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5729B071-67A0-48FB-8B1B-275E6822086C}
diff --git a/src/Spectre.Console.sln.DotSettings b/src/Spectre.Console.sln.DotSettings
deleted file mode 100644
index 5b8822215..000000000
--- a/src/Spectre.Console.sln.DotSettings
+++ /dev/null
@@ -1,2 +0,0 @@
-
- DO_NOT_SHOW
\ No newline at end of file
diff --git a/src/Spectre.Console.v3.ncrunchsolution b/src/Spectre.Console.v3.ncrunchsolution
deleted file mode 100644
index 10420ac91..000000000
--- a/src/Spectre.Console.v3.ncrunchsolution
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- True
- True
-
-
\ No newline at end of file
diff --git a/src/Spectre.Console/Spectre.Console.csproj b/src/Spectre.Console/Spectre.Console.csproj
index 4805f895b..49a550499 100644
--- a/src/Spectre.Console/Spectre.Console.csproj
+++ b/src/Spectre.Console/Spectre.Console.csproj
@@ -2,22 +2,22 @@
net8.0;net7.0;net6.0;netstandard2.0
- enable
true
- SA1633
+ $(DefineConstants)TRACE;WCWIDTH_VISIBILITY_INTERNAL
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
all
@@ -28,17 +28,12 @@
-
-
-
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
- $(DefineConstants)TRACE;WCWIDTH_VISIBILITY_INTERNAL
-
-
diff --git a/test/.editorconfig b/src/Tests/.editorconfig
similarity index 100%
rename from test/.editorconfig
rename to src/Tests/.editorconfig
diff --git a/src/Tests/Directory.Build.props b/src/Tests/Directory.Build.props
new file mode 100644
index 000000000..2f818b035
--- /dev/null
+++ b/src/Tests/Directory.Build.props
@@ -0,0 +1,11 @@
+
+
+ 12
+ false
+ true
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/Spectre.Console.Cli.Tests/Constants.cs b/src/Tests/Spectre.Console.Cli.Tests/Constants.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Constants.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Constants.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/AnimalCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/AnimalCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/AnimalCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/AnimalCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/AsynchronousCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/AsynchronousCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/AsynchronousCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/AsynchronousCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/CatCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/CatCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/CatCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/CatCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/DogCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/DogCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/DogCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/DogCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/DumpRemainingCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/DumpRemainingCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/DumpRemainingCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/DumpRemainingCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/EmptyCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/EmptyCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/EmptyCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/EmptyCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/GenericCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/GenericCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/GenericCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/GenericCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/GiraffeCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/GiraffeCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/GiraffeCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/GiraffeCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/GreeterCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/GreeterCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/GreeterCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/GreeterCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/HiddenOptionsCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/HiddenOptionsCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/HiddenOptionsCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/HiddenOptionsCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/HorseCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/HorseCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/HorseCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/HorseCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/InvalidCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/InvalidCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/InvalidCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/InvalidCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/LionCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/LionCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/LionCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/LionCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/NoDescriptionCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/NoDescriptionCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/NoDescriptionCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/NoDescriptionCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/OptionVectorCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/OptionVectorCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/OptionVectorCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/OptionVectorCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/ThrowingCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/ThrowingCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/ThrowingCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/ThrowingCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/TurtleCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/TurtleCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/TurtleCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/TurtleCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Commands/VersionCommand.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Commands/VersionCommand.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Commands/VersionCommand.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Commands/VersionCommand.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Converters/CatAgilityConverter.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Converters/CatAgilityConverter.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Converters/CatAgilityConverter.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Converters/CatAgilityConverter.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Converters/StringToIntegerConverter.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Converters/StringToIntegerConverter.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Converters/StringToIntegerConverter.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Converters/StringToIntegerConverter.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Help/CustomHelpProvider.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Help/CustomHelpProvider.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Help/CustomHelpProvider.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Help/CustomHelpProvider.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Help/RedirectHelpProvider.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Help/RedirectHelpProvider.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Help/RedirectHelpProvider.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Help/RedirectHelpProvider.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Help/RenderMarkupHelpProvider.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Help/RenderMarkupHelpProvider.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Help/RenderMarkupHelpProvider.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Help/RenderMarkupHelpProvider.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/AnimalSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/AnimalSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/AnimalSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/AnimalSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/ArgumentOrderSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/ArgumentOrderSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/ArgumentOrderSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/ArgumentOrderSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/ArgumentVectorSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/ArgumentVectorSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/ArgumentVectorSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/ArgumentVectorSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/AsynchronousCommandSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/AsynchronousCommandSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/AsynchronousCommandSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/AsynchronousCommandSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/BarCommandSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/BarCommandSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/BarCommandSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/BarCommandSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/CatSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/CatSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/CatSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/CatSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/DogSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/DogSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/DogSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/DogSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/FooSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/FooSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/FooSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/FooSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/GiraffeSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/GiraffeSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/GiraffeSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/GiraffeSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/HiddenOptionSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/HiddenOptionSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/HiddenOptionSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/HiddenOptionSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/HorseSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/HorseSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/HorseSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/HorseSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/InvalidSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/InvalidSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/InvalidSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/InvalidSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/LionSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/LionSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/LionSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/LionSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/MammalSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/MammalSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/MammalSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/MammalSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/MultipleArgumentVectorSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/MultipleArgumentVectorSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/MultipleArgumentVectorSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/MultipleArgumentVectorSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/OptionVectorSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/OptionVectorSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/OptionVectorSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/OptionVectorSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/ReptileSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/ReptileSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/ReptileSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/ReptileSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/StringOptionSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/StringOptionSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/StringOptionSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/StringOptionSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/ThrowingCommandSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/ThrowingCommandSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/ThrowingCommandSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/ThrowingCommandSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/TurtleSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/TurtleSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/TurtleSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/TurtleSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/VersionSettings.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Settings/VersionSettings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Settings/VersionSettings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Settings/VersionSettings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Validators/EvenNumberValidatorAttribute.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Validators/EvenNumberValidatorAttribute.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Validators/EvenNumberValidatorAttribute.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Validators/EvenNumberValidatorAttribute.cs
diff --git a/test/Spectre.Console.Cli.Tests/Data/Validators/PositiveNumberValidatorAttribute.cs b/src/Tests/Spectre.Console.Cli.Tests/Data/Validators/PositiveNumberValidatorAttribute.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Data/Validators/PositiveNumberValidatorAttribute.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Data/Validators/PositiveNumberValidatorAttribute.cs
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/ArgumentCannotContainOptions.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/ArgumentCannotContainOptions.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/ArgumentCannotContainOptions.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/ArgumentCannotContainOptions.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInOptionName.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInOptionName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInOptionName.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInOptionName.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInValueName.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInValueName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInValueName.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInValueName.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MissingLongAndShortName.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/MissingLongAndShortName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/MissingLongAndShortName.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/MissingLongAndShortName.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleValuesAreNotSupported.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleValuesAreNotSupported.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleValuesAreNotSupported.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleValuesAreNotSupported.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionsMustHaveName.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionsMustHaveName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionsMustHaveName.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionsMustHaveName.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/UnexpectedCharacter.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/UnexpectedCharacter.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/UnexpectedCharacter.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/UnexpectedCharacter.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/UnterminatedValueName.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/UnterminatedValueName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/UnterminatedValueName.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/UnterminatedValueName.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/ValuesMustHaveName.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/ValuesMustHaveName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Arguments/ValuesMustHaveName.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Arguments/ValuesMustHaveName.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/ArgumentOrder.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/ArgumentOrder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/ArgumentOrder.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/ArgumentOrder.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Branch.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Branch.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Branch.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Branch.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Called_Without_Help.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Called_Without_Help.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Called_Without_Help.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Called_Without_Help.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Default_Greeter.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Default_Greeter.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Default_Greeter.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Default_Greeter.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Examples.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Examples.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Examples.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Branch_Examples.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Command_Hide_Default.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Command_Hide_Default.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Command_Hide_Default.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Command_Hide_Default.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Configured_By_Instance.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Configured_By_Instance.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Configured_By_Instance.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Configured_By_Instance.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Configured_By_Type.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Configured_By_Type.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Configured_By_Type.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Configured_By_Type.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Registered_By_Instance.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Registered_By_Instance.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Registered_By_Instance.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Registered_By_Instance.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Registered_By_Type.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Registered_By_Type.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Registered_By_Type.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Custom_Help_Registered_By_Type.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Custom_Help_Provider.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Custom_Help_Provider.Output.verified.txt
similarity index 95%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Custom_Help_Provider.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Custom_Help_Provider.Output.verified.txt
index e4a56cd59..ad99fbb63 100644
--- a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Custom_Help_Provider.Output.verified.txt
+++ b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Custom_Help_Provider.Output.verified.txt
@@ -1,15 +1,15 @@
---------------------------------------
---- CUSTOM HELP PROVIDER ---
---------------------------------------
-
-USAGE:
- myapp [OPTIONS]
-
-OPTIONS:
- -h, --help Prints help information
- -v, --version Prints version information
-
-COMMANDS:
- dog The dog command
-
+--------------------------------------
+--- CUSTOM HELP PROVIDER ---
+--------------------------------------
+
+USAGE:
+ myapp [OPTIONS]
+
+OPTIONS:
+ -h, --help Prints help information
+ -v, --version Prints version information
+
+COMMANDS:
+ dog The dog command
+
Version 1.0
\ No newline at end of file
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Examples.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Examples.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Examples.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Examples.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Greeter.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Greeter.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Greeter.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Greeter.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_DE.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_DE.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_DE.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_DE.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_EN.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_EN.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_EN.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_EN.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_FR.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_FR.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_FR.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_FR.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_SV.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_SV.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_SV.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional.Output_SV.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_BoldHeadings.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_BoldHeadings.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_BoldHeadings.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_BoldHeadings.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_Default.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_Default.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_Default.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_Default.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_None.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_None.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_None.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Default_Without_Args_Additional_Style_None.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Description_No_Trailing_Period.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Description_No_Trailing_Period.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Description_No_Trailing_Period.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Description_No_Trailing_Period.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Command_Options.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Command_Options.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Command_Options.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Command_Options.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Commands.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Commands.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Commands.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Commands.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Leaf.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Leaf.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Leaf.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Leaf.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/NoDescription.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/NoDescription.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/NoDescription.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/NoDescription.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/NoVersion.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/NoVersion.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/NoVersion.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/NoVersion.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root.QuestionMark.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root.QuestionMark.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root.QuestionMark.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root.QuestionMark.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.QuestionMark.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.QuestionMark.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.QuestionMark.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.QuestionMark.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_Eight.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_Eight.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_Eight.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_Eight.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_None.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_None.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_None.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_None.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_Twelve.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_Twelve.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_Twelve.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Children_Twelve.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_Eight.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_Eight.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_Eight.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_Eight.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_None.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_None.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_None.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_None.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_Twelve.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_Twelve.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_Twelve.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Root_Examples_Leafs_Twelve.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Version.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Version.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Help/Version.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Help/Version.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoMatchingArgument/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/NoMatchingArgument/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoMatchingArgument/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/NoMatchingArgument/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_3.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_3.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_3.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_3.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_4.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_4.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_4.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_4.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_5.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_5.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_5.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_5.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_3.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_3.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_3.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_3.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_4.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_4.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_4.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_4.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_5.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_5.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_5.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_5.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_6.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_6.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_6.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_6.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_7.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_7.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_7.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_7.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_8.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_8.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_8.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_8.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Hidden_Command_Options.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Hidden_Command_Options.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Hidden_Command_Options.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Hidden_Command_Options.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_10.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_10.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_10.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_10.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_3.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_3.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_3.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_3.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_4.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_4.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_4.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_4.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_5.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_5.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_5.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_5.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_6.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_6.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_6.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_6.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_7.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_7.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_7.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_7.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_8.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_8.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_8.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_8.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_9.Output.verified.txt b/src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_9.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_9.Output.verified.txt
rename to src/Tests/Spectre.Console.Cli.Tests/Expectations/Xml/Test_9.Output.verified.txt
diff --git a/test/Spectre.Console.Cli.Tests/Properties/Usings.cs b/src/Tests/Spectre.Console.Cli.Tests/Properties/Usings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Properties/Usings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Properties/Usings.cs
diff --git a/src/Tests/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj b/src/Tests/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj
new file mode 100644
index 000000000..10e189c73
--- /dev/null
+++ b/src/Tests/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj
@@ -0,0 +1,27 @@
+
+
+
+ net8.0;net7.0;net6.0
+
+
+
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.Rendering.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.Rendering.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.Rendering.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.Rendering.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.Rendering.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.Rendering.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.Rendering.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.Rendering.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Async.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Async.cs
similarity index 90%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Async.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Async.cs
index 8fe902023..8ce3ee141 100644
--- a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Async.cs
+++ b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Async.cs
@@ -5,7 +5,7 @@ public sealed partial class CommandAppTests
public sealed class Async
{
[Fact]
- public async void Should_Execute_Command_Asynchronously()
+ public async Task Should_Execute_Command_Asynchronously()
{
// Given
var app = new CommandAppTester();
@@ -24,7 +24,7 @@ public async void Should_Execute_Command_Asynchronously()
}
[Fact]
- public async void Should_Handle_Exception_Asynchronously()
+ public async Task Should_Handle_Exception_Asynchronously()
{
// Given
var app = new CommandAppTester();
@@ -42,7 +42,7 @@ public async void Should_Handle_Exception_Asynchronously()
}
[Fact]
- public async void Should_Throw_Exception_Asynchronously()
+ public async Task Should_Throw_Exception_Asynchronously()
{
// Given
var app = new CommandAppTester();
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Branches.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Branches.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Branches.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Branches.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Constructor.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Constructor.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Constructor.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Constructor.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Context.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Context.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Context.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Context.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Exceptions.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Exceptions.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Exceptions.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Exceptions.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.FlagValues.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.FlagValues.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.FlagValues.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.FlagValues.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Help.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Help.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Help.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Help.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.Settings.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.Settings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.Settings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.Settings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Interceptor.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Interceptor.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Interceptor.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Interceptor.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Pairs.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Pairs.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Pairs.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Pairs.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Parsing.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Parsing.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Parsing.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Parsing.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Remaining.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Remaining.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Remaining.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Remaining.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Sensitivity.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Sensitivity.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Sensitivity.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Sensitivity.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Settings.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Settings.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Settings.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Settings.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.TypeConverters.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.TypeConverters.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.TypeConverters.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.TypeConverters.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Unsafe.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Unsafe.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Unsafe.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Unsafe.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Validation.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Validation.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Validation.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Validation.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.ValueProviders.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.ValueProviders.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.ValueProviders.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.ValueProviders.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Vectors.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Vectors.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Vectors.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Vectors.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Version.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Version.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Version.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Version.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Xml.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Xml.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Xml.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Xml.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.cs
similarity index 98%
rename from test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.cs
index 082ca6682..34d852001 100644
--- a/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.cs
+++ b/src/Tests/Spectre.Console.Cli.Tests/Unit/CommandAppTests.cs
@@ -1145,11 +1145,7 @@ public void Should_Execute_Nested_Delegate_Empty_Command()
{
cfg.AddBranch("a", d =>
{
- d.AddDelegate("b", _ =>
- {
- AnsiConsole.MarkupLine("[red]Complete[/]");
- return 0;
- });
+ d.AddDelegate("b", _ => 0);
});
});
@@ -1169,11 +1165,7 @@ public void Should_Execute_Delegate_Empty_Command_At_Root_Level()
var app = new CommandAppTester();
app.Configure(cfg =>
{
- cfg.AddDelegate("a", _ =>
- {
- AnsiConsole.MarkupLine("[red]Complete[/]");
- return 0;
- });
+ cfg.AddDelegate("a", _ => 0);
});
// When
@@ -1186,7 +1178,7 @@ public void Should_Execute_Delegate_Empty_Command_At_Root_Level()
}
[Fact]
- public async void Should_Execute_Async_Delegate_Command_At_Root_Level()
+ public async Task Should_Execute_Async_Delegate_Command_At_Root_Level()
{
// Given
var dog = default(DogSettings);
@@ -1251,7 +1243,7 @@ public void Should_Execute_Nested_Delegate_Command()
}
[Fact]
- public async void Should_Execute_Nested_Async_Delegate_Command()
+ public async Task Should_Execute_Nested_Async_Delegate_Command()
{
// Given
var dog = default(DogSettings);
diff --git a/test/Spectre.Console.Cli.Tests/Unit/DefaultTypeRegistrarTests.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/DefaultTypeRegistrarTests.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/DefaultTypeRegistrarTests.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/DefaultTypeRegistrarTests.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/Parsing/CommandTreeTokenizerTests.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/Parsing/CommandTreeTokenizerTests.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/Parsing/CommandTreeTokenizerTests.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/Parsing/CommandTreeTokenizerTests.cs
diff --git a/test/Spectre.Console.Cli.Tests/Unit/Testing/FakeTypeRegistrarTests.cs b/src/Tests/Spectre.Console.Cli.Tests/Unit/Testing/FakeTypeRegistrarTests.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Unit/Testing/FakeTypeRegistrarTests.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Unit/Testing/FakeTypeRegistrarTests.cs
diff --git a/test/Spectre.Console.Cli.Tests/Utilities/CommandContextExtensions.cs b/src/Tests/Spectre.Console.Cli.Tests/Utilities/CommandContextExtensions.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Utilities/CommandContextExtensions.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Utilities/CommandContextExtensions.cs
diff --git a/test/Spectre.Console.Cli.Tests/Utilities/ModuleInitializerAttribute.cs b/src/Tests/Spectre.Console.Cli.Tests/Utilities/ModuleInitializerAttribute.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/Utilities/ModuleInitializerAttribute.cs
rename to src/Tests/Spectre.Console.Cli.Tests/Utilities/ModuleInitializerAttribute.cs
diff --git a/test/Spectre.Console.Cli.Tests/VerifyConfiguration.cs b/src/Tests/Spectre.Console.Cli.Tests/VerifyConfiguration.cs
similarity index 100%
rename from test/Spectre.Console.Cli.Tests/VerifyConfiguration.cs
rename to src/Tests/Spectre.Console.Cli.Tests/VerifyConfiguration.cs
diff --git a/test/Spectre.Console.Tests/Data/Exceptions.cs b/src/Tests/Spectre.Console.Tests/Data/Exceptions.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Data/Exceptions.cs
rename to src/Tests/Spectre.Console.Tests/Data/Exceptions.cs
diff --git a/test/Spectre.Console.Tests/Data/example.json b/src/Tests/Spectre.Console.Tests/Data/example.json
similarity index 100%
rename from test/Spectre.Console.Tests/Data/example.json
rename to src/Tests/Spectre.Console.Tests/Data/example.json
diff --git a/test/Spectre.Console.Tests/Data/poison.flf b/src/Tests/Spectre.Console.Tests/Data/poison.flf
similarity index 100%
rename from test/Spectre.Console.Tests/Data/poison.flf
rename to src/Tests/Spectre.Console.Tests/Data/poison.flf
diff --git a/test/Spectre.Console.Tests/Data/starwars.flf b/src/Tests/Spectre.Console.Tests/Data/starwars.flf
similarity index 100%
rename from test/Spectre.Console.Tests/Data/starwars.flf
rename to src/Tests/Spectre.Console.Tests/Data/starwars.flf
diff --git a/test/Spectre.Console.Tests/Expectations/AlternateScreen/Show.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/AlternateScreen/Show.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/AlternateScreen/Show.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/AlternateScreen/Show.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/ArgumentCannotContainOptions.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/ArgumentCannotContainOptions.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/ArgumentCannotContainOptions.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/ArgumentCannotContainOptions.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/InvalidCharacterInOptionName.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/InvalidCharacterInOptionName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/InvalidCharacterInOptionName.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/InvalidCharacterInOptionName.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/InvalidCharacterInValueName.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/InvalidCharacterInValueName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/InvalidCharacterInValueName.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/InvalidCharacterInValueName.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/MissingLongAndShortName.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/MissingLongAndShortName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/MissingLongAndShortName.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/MissingLongAndShortName.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/MultipleValuesAreNotSupported.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/MultipleValuesAreNotSupported.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/MultipleValuesAreNotSupported.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/MultipleValuesAreNotSupported.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/OptionsMustHaveName.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/OptionsMustHaveName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/OptionsMustHaveName.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/OptionsMustHaveName.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/UnexpectedCharacter.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/UnexpectedCharacter.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/UnexpectedCharacter.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/UnexpectedCharacter.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/UnterminatedValueName.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/UnterminatedValueName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/UnterminatedValueName.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/UnterminatedValueName.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Arguments/ValuesMustHaveName.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/ValuesMustHaveName.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Arguments/ValuesMustHaveName.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Arguments/ValuesMustHaveName.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/ArgumentOrder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/ArgumentOrder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/ArgumentOrder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/ArgumentOrder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/Command.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Command.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/Command.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Command.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/CommandExamples.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/CommandExamples.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/CommandExamples.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/CommandExamples.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/Default.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Default.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/Default.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Default.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/DefaultExamples.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/DefaultExamples.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/DefaultExamples.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/DefaultExamples.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/Hidden_Command_Options.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Hidden_Command_Options.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/Hidden_Command_Options.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Hidden_Command_Options.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/Hidden_Commands.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Hidden_Commands.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/Hidden_Commands.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Hidden_Commands.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/Leaf.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Leaf.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/Leaf.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Leaf.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/NoDescription.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/NoDescription.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/NoDescription.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/NoDescription.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/Root.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Root.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/Root.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/Root.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples_Children.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples_Children.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples_Children.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples_Children.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples_Leafs.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples_Leafs.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples_Leafs.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Help/RootExamples_Leafs.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/NoMatchingArgument/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/NoMatchingArgument/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/NoMatchingArgument/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/NoMatchingArgument/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/NoValueForOption/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/NoValueForOption/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/NoValueForOption/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/NoValueForOption/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/NoValueForOption/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/NoValueForOption/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/NoValueForOption/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/NoValueForOption/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_3.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_3.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_3.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_3.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_4.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_4.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_4.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_4.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_5.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_5.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_5.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/OptionWithoutName/Test_5.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnexpectedOption/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnexpectedOption/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnexpectedOption/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnexpectedOption/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnexpectedOption/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnexpectedOption/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnexpectedOption/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnexpectedOption/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_3.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_3.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_3.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_3.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_4.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_4.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_4.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_4.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_5.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_5.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_5.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_5.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_6.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_6.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_6.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_6.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_7.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_7.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_7.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_7.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_8.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_8.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_8.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownCommand/Test_8.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownOption/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownOption/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownOption/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownOption/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownOption/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownOption/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownOption/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Parsing/UnknownOption/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Xml/Hidden_Command_Options.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Hidden_Command_Options.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Xml/Hidden_Command_Options.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Hidden_Command_Options.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_1.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_1.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_1.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_1.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_2.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_2.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_3.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_3.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_3.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_3.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_4.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_4.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_4.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_4.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_5.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_5.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_5.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_5.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_6.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_6.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Cli/Xml/Test_6.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Cli/Xml/Test_6.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Exception/CallSite.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Exception/CallSite.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Exception/CallSite.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Exception/CallSite.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Exception/Default.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Exception/Default.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Exception/Default.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Exception/Default.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Exception/InnerException.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Exception/InnerException.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Exception/InnerException.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Exception/InnerException.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Exception/NoStackTrace.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Exception/NoStackTrace.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Exception/NoStackTrace.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Exception/NoStackTrace.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Exception/OutParam.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Exception/OutParam.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Exception/OutParam.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Exception/OutParam.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Exception/ShortenedMethods.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Exception/ShortenedMethods.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Exception/ShortenedMethods.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Exception/ShortenedMethods.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Exception/ShortenedTypes.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Exception/ShortenedTypes.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Exception/ShortenedTypes.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Exception/ShortenedTypes.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Exception/Tuple.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Exception/Tuple.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Exception/Tuple.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Exception/Tuple.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Live/Progress/Render_ReduceWidth.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Live/Progress/Render_ReduceWidth.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Live/Progress/Render_ReduceWidth.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Live/Progress/Render_ReduceWidth.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Live/Status/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Live/Status/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Live/Status/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Live/Status/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/AcceptChoice.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/AcceptChoice.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/AcceptChoice.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/AcceptChoice.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_BestMatch.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_BestMatch.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_BestMatch.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_BestMatch.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_Empty.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_Empty.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_Empty.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_Empty.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_NextChoice.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_NextChoice.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_NextChoice.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_NextChoice.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_PreviousChoice.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_PreviousChoice.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_PreviousChoice.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/AutoComplete_PreviousChoice.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/ChoicesStyleNotSet.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/ChoicesStyleNotSet.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/ChoicesStyleNotSet.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/ChoicesStyleNotSet.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/ChoicesStyleSet.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/ChoicesStyleSet.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/ChoicesStyleSet.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/ChoicesStyleSet.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/ConversionError.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/ConversionError.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/ConversionError.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/ConversionError.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/CustomConverter.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/CustomConverter.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/CustomConverter.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/CustomConverter.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/CustomValidation.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/CustomValidation.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/CustomValidation.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/CustomValidation.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValue.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValue.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValue.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValue.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValueStyleNotSet.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValueStyleNotSet.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValueStyleNotSet.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValueStyleNotSet.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValueStyleSet.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValueStyleSet.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValueStyleSet.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/DefaultValueStyleSet.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/InvalidChoice.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/InvalidChoice.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/InvalidChoice.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/InvalidChoice.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/NoSuffix.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/NoSuffix.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/NoSuffix.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/NoSuffix.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValue.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValue.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValue.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValue.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValueCustomMask.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValueCustomMask.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValueCustomMask.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValueCustomMask.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValueNullMask.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValueNullMask.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValueNullMask.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/SecretDefaultValueNullMask.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Prompts/Text/SecretValueBackspaceNullMask.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/SecretValueBackspaceNullMask.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Prompts/Text/SecretValueBackspaceNullMask.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Prompts/Text/SecretValueBackspaceNullMask.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/AsciiBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/AsciiBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/AsciiBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/AsciiBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/DoubleBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/DoubleBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/DoubleBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/DoubleBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/HeavyBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/HeavyBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/HeavyBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/HeavyBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/NoBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/NoBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/NoBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/NoBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/NoBorder_With_Header.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/NoBorder_With_Header.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/NoBorder_With_Header.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/NoBorder_With_Header.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/RoundedBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/RoundedBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/RoundedBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/RoundedBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/SquareBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/SquareBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/SquareBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Box/SquareBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/Ascii2Border.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/Ascii2Border.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/Ascii2Border.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/Ascii2Border.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/AsciiBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/AsciiBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/AsciiBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/AsciiBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/AsciiDoubleHeadBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/AsciiDoubleHeadBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/AsciiDoubleHeadBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/AsciiDoubleHeadBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/DoubleBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/DoubleBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/DoubleBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/DoubleBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/DoubleEdgeBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/DoubleEdgeBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/DoubleEdgeBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/DoubleEdgeBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyEdgeBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyEdgeBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyEdgeBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyEdgeBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyHeadBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyHeadBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyHeadBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HeavyHeadBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HorizontalBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HorizontalBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HorizontalBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/HorizontalBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_Centered.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_Centered.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_Centered.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_Centered.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_LeftAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_LeftAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_LeftAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_LeftAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_RightAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_RightAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_RightAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MarkdownBorder_RightAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalDoubleHeadBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalDoubleHeadBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalDoubleHeadBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalDoubleHeadBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalHeavyHeadBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalHeavyHeadBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalHeavyHeadBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/MinimalHeavyHeadBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/NoBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/NoBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/NoBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/NoBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/RoundedBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/RoundedBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/RoundedBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/RoundedBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SimpleBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SimpleBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SimpleBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SimpleBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SimpleHeavyBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SimpleHeavyBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SimpleHeavyBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SimpleHeavyBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SquareBorder.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SquareBorder.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SquareBorder.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Rendering/Borders/Table/SquareBorder.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row_With_Renderable.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row_With_Renderable.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row_With_Renderable.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row_With_Renderable.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row_With_String.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row_With_String.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row_With_String.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/TableRowCollectionTests.TheUpdateMethod.Should_Update_Row_With_String.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Bottom.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Bottom.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Bottom.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Bottom.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Middle.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Middle.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Middle.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Middle.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Top.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Top.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Top.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Center_Top.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Bottom.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Bottom.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Bottom.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Bottom.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Middle.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Middle.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Middle.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Middle.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Top.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Top.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Top.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Left_Top.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Bottom.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Bottom.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Bottom.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Bottom.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Middle.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Middle.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Middle.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Middle.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Top.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Top.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Top.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Align/Right_Top.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BarChart/Fixed_Max_Value.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BarChart/Fixed_Max_Value.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BarChart/Fixed_Max_Value.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BarChart/Fixed_Max_Value.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BarChart/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BarChart/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BarChart/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BarChart/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BarChart/Zero_Value.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BarChart/Zero_Value.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BarChart/Zero_Value.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BarChart/Zero_Value.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Ansi.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Ansi.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Ansi.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Ansi.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Culture.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Culture.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Culture.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Culture.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Default.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Default.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Default.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Default.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/FullSize.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/FullSize.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/FullSize.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/FullSize.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/HideTagValues.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/HideTagValues.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/HideTagValues.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/HideTagValues.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/HideTags.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/HideTags.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/HideTags.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/HideTags.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/TagFormat.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/TagFormat.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/TagFormat.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/TagFormat.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/ValueColor.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/ValueColor.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/ValueColor.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/ValueColor.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Width.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Width.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Width.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/BreakdownChart/Width.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Calendar/Centered.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Calendar/Centered.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Calendar/Centered.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Calendar/Centered.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Calendar/Culture.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Calendar/Culture.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Calendar/Culture.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Calendar/Culture.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Calendar/LeftAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Calendar/LeftAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Calendar/LeftAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Calendar/LeftAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Calendar/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Calendar/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Calendar/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Calendar/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Calendar/RightAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Calendar/RightAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Calendar/RightAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Calendar/RightAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_MaxWidth.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_MaxWidth.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_MaxWidth.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_MaxWidth.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_NarrowTerminal.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_NarrowTerminal.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_NarrowTerminal.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_NarrowTerminal.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_Nested.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_Nested.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_Nested.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Canvas/Render_Nested.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Columns/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Columns/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Columns/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Columns/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Load_Stream.Output_fontfile=poison.flf.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Load_Stream.Output_fontfile=poison.flf.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Load_Stream.Output_fontfile=poison.flf.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Load_Stream.Output_fontfile=poison.flf.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Load_Stream.Output_fontfile=starwars.flf.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Load_Stream.Output_fontfile=starwars.flf.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Load_Stream.Output_fontfile=starwars.flf.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Load_Stream.Output_fontfile=starwars.flf.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_Centered.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_Centered.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_Centered.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_Centered.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_LeftAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_LeftAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_LeftAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_LeftAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_RightAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_RightAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_RightAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_RightAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_Wrapped.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_Wrapped.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_Wrapped.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Figlet/Render_Wrapped.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Grid/AddEmptyRow/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/AddEmptyRow/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Grid/AddEmptyRow/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/AddEmptyRow/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Grid/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Grid/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_2.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_2.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_2.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_2.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_Alignment.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_Alignment.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_Alignment.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_Alignment.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_ExplicitPadding.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_ExplicitPadding.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_ExplicitPadding.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_ExplicitPadding.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_Padding.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_Padding.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_Padding.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Grid/Render_Padding.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Json/Render_Json.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Json/Render_Json.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Json/Render_Json.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Json/Render_Json.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Empty_Layout.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Empty_Layout.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Empty_Layout.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Empty_Layout.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Fallback_Layout.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Fallback_Layout.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Fallback_Layout.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Fallback_Layout.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Columns.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Columns.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Columns.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Columns.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Columns.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Columns.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Columns.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Columns.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Rows.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Rows.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Rows.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Rows.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Rows_And_Columns.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Rows_And_Columns.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Rows_And_Columns.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Nested_Rows_And_Columns.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Minimum_Size.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Minimum_Size.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Minimum_Size.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Minimum_Size.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Ratio.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Ratio.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Ratio.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Ratio.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Size.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Size.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Size.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Respect_To_Size.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Rows.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Rows.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Rows.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_With_Rows.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_Without_Invisible_Children.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_Without_Invisible_Children.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_Without_Invisible_Children.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Layout/Render_Layout_Without_Invisible_Children.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Padder/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Padder/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Padder/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Padder/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Padder/Render_Expanded.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Padder/Render_Expanded.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Padder/Render_Expanded.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Padder/Render_Expanded.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Padder/Render_Nested.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Padder/Render_Nested.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Padder/Render_Nested.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Padder/Render_Nested.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_CJK.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_CJK.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_CJK.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_CJK.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_Centered.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_Centered.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_Centered.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_Centered.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_Panel.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_Panel.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_Panel.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_Panel.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_RightAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_RightAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_RightAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Child_RightAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Expand.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Expand.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Expand.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Expand.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_Centered.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_Centered.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_Centered.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_Centered.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_Collapse.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_Collapse.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_Collapse.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_Collapse.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_LeftAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_LeftAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_LeftAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_LeftAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_RightAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_RightAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_RightAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Header_RightAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Height.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Height.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Height.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Height.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_LineEndings.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_LineEndings.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_LineEndings.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_LineEndings.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Multiline.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Multiline.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Multiline.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Multiline.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Padding.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Padding.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Padding.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Padding.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Unicode.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Unicode.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Unicode.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Unicode.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width_Height.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width_Height.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width_Height.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width_Height.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width_MaxWidth.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width_MaxWidth.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width_MaxWidth.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Width_MaxWidth.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Wrap.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Wrap.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Wrap.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_Wrap.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_ZeroPadding.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_ZeroPadding.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_ZeroPadding.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Panel/Render_ZeroPadding.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/ProgressBar/Formatted.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/ProgressBar/Formatted.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/ProgressBar/Formatted.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/ProgressBar/Formatted.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/ProgressBar/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/ProgressBar/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/ProgressBar/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/ProgressBar/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Recorder/Html.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Recorder/Html.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Recorder/Html.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Recorder/Html.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Recorder/Text.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Recorder/Text.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Recorder/Text.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Recorder/Text.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rows/GH-1188-Rows.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rows/GH-1188-Rows.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rows/GH-1188-Rows.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rows/GH-1188-Rows.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rows/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rows/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rows/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rows/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Empty.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Empty.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Empty.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Empty.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Expanded_And_Nested.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Expanded_And_Nested.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Expanded_And_Nested.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Expanded_And_Nested.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Nested.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Nested.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Nested.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rows/Render_Nested.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Border_Header.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Border_Header.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Border_Header.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Border_Header.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Border_NoHeader.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Border_NoHeader.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Border_NoHeader.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Border_NoHeader.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_DefaultAlignment.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_DefaultAlignment.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_DefaultAlignment.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_DefaultAlignment.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_LeftAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_LeftAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_LeftAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_LeftAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_RightAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_RightAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_RightAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Header_RightAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Linebreaks.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Linebreaks.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Linebreaks.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Linebreaks.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Truncate.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Truncate.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Truncate.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Rule/Render_Truncate.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/AddEmptyRow.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/AddEmptyRow.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/AddEmptyRow.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/AddEmptyRow.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_CellPadding.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_CellPadding.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_CellPadding.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_CellPadding.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Centered.Align_Widget.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Centered.Align_Widget.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Centered.Align_Widget.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Centered.Align_Widget.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Centered.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Centered.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Centered.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Centered.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_ColumnJustification.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_ColumnJustification.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_ColumnJustification.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_ColumnJustification.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_EA_Character.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_EA_Character.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_EA_Character.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_EA_Character.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Empty_Column.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Empty_Column.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Empty_Column.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Empty_Column.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Expand.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Expand.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Expand.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Expand.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Fold.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Fold.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Fold.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Fold.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Footers.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Footers.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Footers.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Footers.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Impossible.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Impossible.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Impossible.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Impossible.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_LeftAligned.Align_Widget.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_LeftAligned.Align_Widget.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_LeftAligned.Align_Widget.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_LeftAligned.Align_Widget.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_LeftAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_LeftAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_LeftAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_LeftAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Multiline.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Multiline.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Multiline.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Multiline.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Nested.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Nested.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Nested.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Nested.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_NoRows.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_NoRows.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_NoRows.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_NoRows.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_RightAligned.Align_Widget.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_RightAligned.Align_Widget.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_RightAligned.Align_Widget.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_RightAligned.Align_Widget.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_RightAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_RightAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_RightAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_RightAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Row_Separators.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Row_Separators.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Row_Separators.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Row_Separators.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Row_Separators_No_Header.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Row_Separators_No_Header.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Row_Separators_No_Header.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Row_Separators_No_Header.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_Centered.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_Centered.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_Centered.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_Centered.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_LeftAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_LeftAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_LeftAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_LeftAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_LowerCase.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_LowerCase.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_LowerCase.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_LowerCase.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_RightAligned.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_RightAligned.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_RightAligned.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Render_Title_Caption_RightAligned.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Add.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Add.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Add.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Add.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Add.Renderables.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Add.Renderables.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Add.Renderables.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Add.Renderables.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Add.Strings.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Add.Strings.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Add.Strings.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Add.Strings.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Insert.Renderables.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Insert.Renderables.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Insert.Renderables.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Insert.Renderables.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Insert.Strings.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Insert.Strings.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Insert.Strings.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Insert.Strings.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Remove.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Remove.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Remove.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Extensions/Remove.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Insert.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Insert.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Insert.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Insert.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Remove.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Remove.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Remove.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Table/Rows/Remove.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/TextPath/GH-1307.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/TextPath/GH-1307.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/TextPath/GH-1307.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/TextPath/GH-1307.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Tree/Render.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Tree/Render.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Tree/Render.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Tree/Render.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Expectations/Widgets/Tree/Render_NoChildren.Output.verified.txt b/src/Tests/Spectre.Console.Tests/Expectations/Widgets/Tree/Render_NoChildren.Output.verified.txt
similarity index 100%
rename from test/Spectre.Console.Tests/Expectations/Widgets/Tree/Render_NoChildren.Output.verified.txt
rename to src/Tests/Spectre.Console.Tests/Expectations/Widgets/Tree/Render_NoChildren.Output.verified.txt
diff --git a/test/Spectre.Console.Tests/Extensions/ConsoleKeyExtensions.cs b/src/Tests/Spectre.Console.Tests/Extensions/ConsoleKeyExtensions.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Extensions/ConsoleKeyExtensions.cs
rename to src/Tests/Spectre.Console.Tests/Extensions/ConsoleKeyExtensions.cs
diff --git a/test/Spectre.Console.Tests/Extensions/StreamExtensions.cs b/src/Tests/Spectre.Console.Tests/Extensions/StreamExtensions.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Extensions/StreamExtensions.cs
rename to src/Tests/Spectre.Console.Tests/Extensions/StreamExtensions.cs
diff --git a/test/Spectre.Console.Tests/Properties/Usings.cs b/src/Tests/Spectre.Console.Tests/Properties/Usings.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Properties/Usings.cs
rename to src/Tests/Spectre.Console.Tests/Properties/Usings.cs
diff --git a/src/Tests/Spectre.Console.Tests/Spectre.Console.Tests.csproj b/src/Tests/Spectre.Console.Tests/Spectre.Console.Tests.csproj
new file mode 100644
index 000000000..97100e1ff
--- /dev/null
+++ b/src/Tests/Spectre.Console.Tests/Spectre.Console.Tests.csproj
@@ -0,0 +1,35 @@
+
+
+
+ net8.0;net7.0;net6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Spectre.Console.Tests/Unit/AlternateScreenTests.cs b/src/Tests/Spectre.Console.Tests/Unit/AlternateScreenTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/AlternateScreenTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/AlternateScreenTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Advanced.cs b/src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Advanced.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Advanced.cs
rename to src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Advanced.cs
diff --git a/test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Colors.cs b/src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Colors.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Colors.cs
rename to src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Colors.cs
diff --git a/test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Cursor.cs b/src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Cursor.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Cursor.cs
rename to src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Cursor.cs
diff --git a/test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Markup.cs b/src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Markup.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Markup.cs
rename to src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Markup.cs
diff --git a/test/Spectre.Console.Tests/Unit/AnsiConsoleTests.MarkupInterpolated.cs b/src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.MarkupInterpolated.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/AnsiConsoleTests.MarkupInterpolated.cs
rename to src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.MarkupInterpolated.cs
diff --git a/test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Prompt.cs b/src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Prompt.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Prompt.cs
rename to src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Prompt.cs
diff --git a/test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Style.cs b/src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Style.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Style.cs
rename to src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.Style.cs
diff --git a/test/Spectre.Console.Tests/Unit/AnsiConsoleTests.cs b/src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/AnsiConsoleTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/AnsiConsoleTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/ColorSystemTests.cs b/src/Tests/Spectre.Console.Tests/Unit/ColorSystemTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/ColorSystemTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/ColorSystemTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/ColorTests.cs b/src/Tests/Spectre.Console.Tests/Unit/ColorTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/ColorTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/ColorTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/EmojiTests.cs b/src/Tests/Spectre.Console.Tests/Unit/EmojiTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/EmojiTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/EmojiTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/ExceptionTests.cs b/src/Tests/Spectre.Console.Tests/Unit/ExceptionTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/ExceptionTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/ExceptionTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/HighlightTests.cs b/src/Tests/Spectre.Console.Tests/Unit/HighlightTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/HighlightTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/HighlightTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Live/Progress/DownloadedColumnTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Live/Progress/DownloadedColumnTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Live/Progress/DownloadedColumnTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Live/Progress/DownloadedColumnTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Live/Progress/ProgressColumnFixture.cs b/src/Tests/Spectre.Console.Tests/Unit/Live/Progress/ProgressColumnFixture.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Live/Progress/ProgressColumnFixture.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Live/Progress/ProgressColumnFixture.cs
diff --git a/test/Spectre.Console.Tests/Unit/Live/Progress/ProgressTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Live/Progress/ProgressTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Live/Progress/ProgressTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Live/Progress/ProgressTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Live/StatusTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Live/StatusTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Live/StatusTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Live/StatusTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Prompts/ListPromptStateTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Prompts/ListPromptStateTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Prompts/ListPromptStateTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Prompts/ListPromptStateTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Prompts/MultiSelectionPromptTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Prompts/MultiSelectionPromptTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Prompts/MultiSelectionPromptTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Prompts/MultiSelectionPromptTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Prompts/SelectionPromptTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Prompts/SelectionPromptTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Prompts/SelectionPromptTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Prompts/SelectionPromptTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Prompts/TextPromptTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Prompts/TextPromptTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Prompts/TextPromptTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Prompts/TextPromptTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/RecorderTests.cs b/src/Tests/Spectre.Console.Tests/Unit/RecorderTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/RecorderTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/RecorderTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Rendering/Borders/BoxBorderTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Rendering/Borders/BoxBorderTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Rendering/Borders/BoxBorderTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Rendering/Borders/BoxBorderTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Rendering/Borders/TableBorderTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Rendering/Borders/TableBorderTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Rendering/Borders/TableBorderTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Rendering/Borders/TableBorderTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Rendering/RenderHookTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Rendering/RenderHookTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Rendering/RenderHookTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Rendering/RenderHookTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Rendering/SegmentTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Rendering/SegmentTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Rendering/SegmentTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Rendering/SegmentTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/StyleTests.cs b/src/Tests/Spectre.Console.Tests/Unit/StyleTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/StyleTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/StyleTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/AlignTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/AlignTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/AlignTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/AlignTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/BarChartTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/BarChartTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/BarChartTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/BarChartTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/BreakdownChartTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/BreakdownChartTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/BreakdownChartTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/BreakdownChartTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/CalendarTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/CalendarTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/CalendarTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/CalendarTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/CanvasTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/CanvasTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/CanvasTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/CanvasTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/ColumnsTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/ColumnsTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/ColumnsTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/ColumnsTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/FigletTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/FigletTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/FigletTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/FigletTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/GridTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/GridTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/GridTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/GridTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/JsonTextTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/JsonTextTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/JsonTextTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/JsonTextTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/LayoutTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/LayoutTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/LayoutTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/LayoutTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/MarkupTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/MarkupTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/MarkupTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/MarkupTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/PadderTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/PadderTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/PadderTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/PadderTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/PanelTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/PanelTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/PanelTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/PanelTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/ProgressBarTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/ProgressBarTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/ProgressBarTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/ProgressBarTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/RowsTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/RowsTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/RowsTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/RowsTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/RuleTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/RuleTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/RuleTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/RuleTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/Table/TableRowCollectionExtensionsTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/Table/TableRowCollectionExtensionsTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/Table/TableRowCollectionExtensionsTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/Table/TableRowCollectionExtensionsTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/Table/TableRowCollectionTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/Table/TableRowCollectionTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/Table/TableRowCollectionTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/Table/TableRowCollectionTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/Table/TableTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/Table/TableTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/Table/TableTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/Table/TableTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/TextPathTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/TextPathTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/TextPathTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/TextPathTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/TextTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/TextTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/TextTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/TextTests.cs
diff --git a/test/Spectre.Console.Tests/Unit/Widgets/TreeTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/TreeTests.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Unit/Widgets/TreeTests.cs
rename to src/Tests/Spectre.Console.Tests/Unit/Widgets/TreeTests.cs
diff --git a/test/Spectre.Console.Tests/Utilities/EmbeddedResourceReader.cs b/src/Tests/Spectre.Console.Tests/Utilities/EmbeddedResourceReader.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Utilities/EmbeddedResourceReader.cs
rename to src/Tests/Spectre.Console.Tests/Utilities/EmbeddedResourceReader.cs
diff --git a/test/Spectre.Console.Tests/Utilities/GitHubIssueAttribute.cs b/src/Tests/Spectre.Console.Tests/Utilities/GitHubIssueAttribute.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Utilities/GitHubIssueAttribute.cs
rename to src/Tests/Spectre.Console.Tests/Utilities/GitHubIssueAttribute.cs
diff --git a/test/Spectre.Console.Tests/Utilities/ModuleInitializerAttribute.cs b/src/Tests/Spectre.Console.Tests/Utilities/ModuleInitializerAttribute.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Utilities/ModuleInitializerAttribute.cs
rename to src/Tests/Spectre.Console.Tests/Utilities/ModuleInitializerAttribute.cs
diff --git a/test/Spectre.Console.Tests/Utilities/TestConsoleExtensions.cs b/src/Tests/Spectre.Console.Tests/Utilities/TestConsoleExtensions.cs
similarity index 100%
rename from test/Spectre.Console.Tests/Utilities/TestConsoleExtensions.cs
rename to src/Tests/Spectre.Console.Tests/Utilities/TestConsoleExtensions.cs
diff --git a/test/Spectre.Console.Tests/VerifyConfiguration.cs b/src/Tests/Spectre.Console.Tests/VerifyConfiguration.cs
similarity index 100%
rename from test/Spectre.Console.Tests/VerifyConfiguration.cs
rename to src/Tests/Spectre.Console.Tests/VerifyConfiguration.cs
diff --git a/test/Directory.Build.props b/test/Directory.Build.props
deleted file mode 100644
index ade39514b..000000000
--- a/test/Directory.Build.props
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- 12
- false
- true
-
-
-
-
- All
-
-
- All
-
-
-
\ No newline at end of file
diff --git a/test/Spectre.Console.Analyzer.Tests/CodeAnalyzerHelper.cs b/test/Spectre.Console.Analyzer.Tests/CodeAnalyzerHelper.cs
deleted file mode 100644
index 860fcc88e..000000000
--- a/test/Spectre.Console.Analyzer.Tests/CodeAnalyzerHelper.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace Spectre.Console.Analyzer.Tests;
-
-internal static class CodeAnalyzerHelper
-{
- internal static ReferenceAssemblies CurrentSpectre { get; }
-
- static CodeAnalyzerHelper()
- {
- CurrentSpectre = ReferenceAssemblies.Net.Net60.AddAssemblies(
- ImmutableArray.Create(typeof(AnsiConsole).Assembly.Location.Replace(".dll", string.Empty)));
- }
-}
diff --git a/test/Spectre.Console.Analyzer.Tests/CodeFixProviderDiscovery.cs b/test/Spectre.Console.Analyzer.Tests/CodeFixProviderDiscovery.cs
deleted file mode 100644
index 9cfb44d0d..000000000
--- a/test/Spectre.Console.Analyzer.Tests/CodeFixProviderDiscovery.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-namespace Spectre.Console.Analyzer.Tests;
-
-internal static class CodeFixProviderDiscovery
-{
- private static readonly Lazy _exportProviderFactory;
-
- static CodeFixProviderDiscovery()
- {
- _exportProviderFactory = new Lazy(
- () =>
- {
- var discovery = new AttributedPartDiscovery(Resolver.DefaultInstance, isNonPublicSupported: true);
- var parts = Task.Run(() => discovery.CreatePartsAsync(typeof(SystemConsoleToAnsiConsoleFix).Assembly)).GetAwaiter().GetResult();
- var catalog = ComposableCatalog.Create(Resolver.DefaultInstance).AddParts(parts);
-
- var configuration = CompositionConfiguration.Create(catalog);
- var runtimeComposition = RuntimeComposition.CreateRuntimeComposition(configuration);
- return runtimeComposition.CreateExportProviderFactory();
- },
- LazyThreadSafetyMode.ExecutionAndPublication);
- }
-
- public static IEnumerable GetCodeFixProviders(string language)
- {
- var exportProvider = _exportProviderFactory.Value.CreateExportProvider();
- var exports = exportProvider.GetExports();
- return exports.Where(export => export.Metadata.Languages.Contains(language)).Select(export => export.Value);
- }
-
- private class LanguageMetadata
- {
- public LanguageMetadata(IDictionary data)
- {
- if (!data.TryGetValue(nameof(ExportCodeFixProviderAttribute.Languages), out var languages))
- {
- languages = Array.Empty();
- }
-
- Languages = ((string[])languages).ToImmutableArray();
- }
-
- public ImmutableArray Languages { get; }
- }
-}
diff --git a/test/Spectre.Console.Analyzer.Tests/Properties/Usings.cs b/test/Spectre.Console.Analyzer.Tests/Properties/Usings.cs
deleted file mode 100644
index 394e6fe22..000000000
--- a/test/Spectre.Console.Analyzer.Tests/Properties/Usings.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-global using System;
-global using System.Collections.Generic;
-global using System.Collections.Immutable;
-global using System.Linq;
-global using System.Threading;
-global using System.Threading.Tasks;
-global using Microsoft.CodeAnalysis;
-global using Microsoft.CodeAnalysis.CodeFixes;
-global using Microsoft.CodeAnalysis.CSharp.Testing;
-global using Microsoft.CodeAnalysis.Diagnostics;
-global using Microsoft.CodeAnalysis.Testing;
-global using Microsoft.CodeAnalysis.Testing.Verifiers;
-global using Microsoft.VisualStudio.Composition;
-global using Spectre.Console.Analyzer.FixProviders;
-global using Xunit;
\ No newline at end of file
diff --git a/test/Spectre.Console.Analyzer.Tests/Spectre.Console.Analyzer.Tests.csproj b/test/Spectre.Console.Analyzer.Tests/Spectre.Console.Analyzer.Tests.csproj
deleted file mode 100644
index 19011e7c5..000000000
--- a/test/Spectre.Console.Analyzer.Tests/Spectre.Console.Analyzer.Tests.csproj
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- net6.0
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
-
-
-
-
-
-
-
-
diff --git a/test/Spectre.Console.Analyzer.Tests/SpectreAnalyzerVerifier.cs b/test/Spectre.Console.Analyzer.Tests/SpectreAnalyzerVerifier.cs
deleted file mode 100644
index eb333f279..000000000
--- a/test/Spectre.Console.Analyzer.Tests/SpectreAnalyzerVerifier.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-namespace Spectre.Console.Analyzer.Tests;
-
-public static class SpectreAnalyzerVerifier
- where TAnalyzer : DiagnosticAnalyzer, new()
-{
- public static Task VerifyCodeFixAsync(string source, DiagnosticResult expected, string fixedSource)
- => VerifyCodeFixAsync(source, OutputKind.DynamicallyLinkedLibrary, new[] { expected }, fixedSource);
-
- public static Task VerifyCodeFixAsync(string source, OutputKind outputKind, DiagnosticResult expected, string fixedSource)
- => VerifyCodeFixAsync(source, outputKind, new[] { expected }, fixedSource);
-
- private static Task VerifyCodeFixAsync(string source, OutputKind outputKind, IEnumerable expected, string fixedSource)
- {
- var test = new Test
- {
- TestCode = source,
- TestState =
- {
- OutputKind = outputKind,
- },
- FixedCode = fixedSource,
- };
-
- test.ExpectedDiagnostics.AddRange(expected);
- return test.RunAsync();
- }
-
- public static Task VerifyAnalyzerAsync(string source, params DiagnosticResult[] expected)
- {
- var test = new Test
- {
- TestCode = source,
- CompilerDiagnostics = CompilerDiagnostics.All,
- };
-
- test.ExpectedDiagnostics.AddRange(expected);
- return test.RunAsync();
- }
-
- // Code fix tests support both analyzer and code fix testing. This test class is derived from the code fix test
- // to avoid the need to maintain duplicate copies of the customization work.
- private class Test : CSharpCodeFixTest
- {
- public Test()
- {
- ReferenceAssemblies = CodeAnalyzerHelper.CurrentSpectre;
- TestBehaviors |= TestBehaviors.SkipGeneratedCodeCheck;
- }
-
- protected override IEnumerable GetCodeFixProviders()
- {
- var analyzer = new TAnalyzer();
- foreach (var provider in CodeFixProviderDiscovery.GetCodeFixProviders(Language))
- {
- if (analyzer.SupportedDiagnostics.Any(diagnostic => provider.FixableDiagnosticIds.Contains(diagnostic.Id)))
- {
- yield return provider;
- }
- }
- }
- }
-}
diff --git a/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/NoConcurrentLiveRenderablesTests.cs b/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/NoConcurrentLiveRenderablesTests.cs
deleted file mode 100644
index 423ba05fb..000000000
--- a/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/NoConcurrentLiveRenderablesTests.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-namespace Spectre.Console.Analyzer.Tests.Unit.Analyzers;
-
-public class NoCurrentLiveRenderablesTests
-{
- private static readonly DiagnosticResult _expectedDiagnostics = new(
- Descriptors.S1020_AvoidConcurrentCallsToMultipleLiveRenderables.Id,
- DiagnosticSeverity.Warning);
-
- [Fact]
- public async void Status_call_within_live_call_warns()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- void Go()
- {
- AnsiConsole.Live(new Table()).Start(ctx =>
- {
- AnsiConsole.Status().Start(""go"", innerCtx => {});
- });
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source, _expectedDiagnostics.WithLocation(10, 13));
- }
-
- [Fact]
- public async void Status_call_within_live_call_warns_with_instance()
- {
- const string Source = @"
-using Spectre.Console;
-
-class Child
-{
- public readonly IAnsiConsole _console = AnsiConsole.Console;
-
- public void Go()
- {
- _console.Status().Start(""starting"", context =>
- {
- _console.Progress().Start(progressContext => { });
- });
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source, _expectedDiagnostics.WithLocation(12, 13));
- }
-
- [Fact]
- public async void Calling_start_on_non_live_renderable_has_no_warning()
- {
- const string Source = @"
-using Spectre.Console;
-
-class Program
-{
- static void Main()
- {
- Start();
- }
-
- static void Start() => AnsiConsole.WriteLine(""Starting..."");
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source);
- }
-}
diff --git a/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/NoPromptsDuringLiveRenderablesTests.cs b/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/NoPromptsDuringLiveRenderablesTests.cs
deleted file mode 100644
index c08e79ee2..000000000
--- a/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/NoPromptsDuringLiveRenderablesTests.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-namespace Spectre.Console.Analyzer.Tests.Unit.Analyzers;
-
-public class NoPromptsDuringLiveRenderablesTests
-{
- private static readonly DiagnosticResult _expectedDiagnostics = new(
- Descriptors.S1021_AvoidPromptCallsDuringLiveRenderables.Id,
- DiagnosticSeverity.Warning);
-
- [Fact]
- public async Task Prompt_out_of_progress_does_not_warn()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- void Go()
- {
- var s = AnsiConsole.Ask(""How are you?"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source);
- }
-
- [Fact]
- public async Task Instance_variables_warn()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- public IAnsiConsole _console = AnsiConsole.Console;
-
- public void Go()
- {
- _console.Status().Start(""starting"", context =>
- {
- var result = _console.Confirm(""we ok?"");
- });
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source, _expectedDiagnostics.WithLocation(12, 26));
- }
-
- [Fact]
- public async Task Prompt_in_progress_warns()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- void Go()
- {
- AnsiConsole.Progress().Start(_ =>
- {
- AnsiConsole.Ask(""How are you?"");
- });
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source, _expectedDiagnostics.WithLocation(10, 13));
- }
-
- [Fact]
- public async Task Can_call_other_methods_from_within_renderables()
- {
- const string Source = @"
-using Spectre.Console;
-
-class Program
-{
- static void Main()
- {
- AnsiConsole.Status().Start(""here we go"", context =>
- {
- var result = Confirm();
-
- });
- }
-
- static string Confirm() => string.Empty;
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source);
- }
-}
diff --git a/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/UseInstanceAnsiConsoleTests.cs b/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/UseInstanceAnsiConsoleTests.cs
deleted file mode 100644
index 684501923..000000000
--- a/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/UseInstanceAnsiConsoleTests.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-namespace Spectre.Console.Analyzer.Tests.Unit.Analyzers;
-
-public class FavorInstanceAnsiConsoleOverStaticAnalyzerTests
-{
- private static readonly DiagnosticResult _expectedDiagnostics = new(
- Descriptors.S1010_FavorInstanceAnsiConsoleOverStatic.Id,
- DiagnosticSeverity.Info);
-
- [Fact]
- public async void Should_only_warn_within_methods()
- {
- const string Source = @"
-using Spectre.Console;
-
-internal sealed class Foo
-{
- private readonly IAnsiConsole _console;
-
- public Foo(IAnsiConsole console = null)
- {
- _console = console ?? AnsiConsole.Create(new AnsiConsoleSettings());
- }
-}
-";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source);
- }
-
- [Fact]
- public async void Instance_console_has_no_warnings()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- IAnsiConsole _ansiConsole = AnsiConsole.Console;
-
- void TestMethod()
- {
- _ansiConsole.Write(""this is fine"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source);
- }
-
- [Fact]
- public async void Static_console_with_no_instance_variables_has_no_warnings()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- void TestMethod()
- {
- AnsiConsole.Write(""this is fine"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source);
- }
-
- [Fact]
- public async void Console_Write_Has_Warning()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- IAnsiConsole _ansiConsole = AnsiConsole.Console;
-
- void TestMethod()
- {
- _ansiConsole.Write(""this is fine"");
- AnsiConsole.Write(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source, _expectedDiagnostics.WithLocation(11, 9));
- }
-}
diff --git a/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/UseSpectreInsteadOfSystemConsoleAnalyzerTests.cs b/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/UseSpectreInsteadOfSystemConsoleAnalyzerTests.cs
deleted file mode 100644
index 094315f0a..000000000
--- a/test/Spectre.Console.Analyzer.Tests/Unit/Analyzers/UseSpectreInsteadOfSystemConsoleAnalyzerTests.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-namespace Spectre.Console.Analyzer.Tests.Unit.Analyzers;
-
-public class UseSpectreInsteadOfSystemConsoleAnalyzerTests
-{
- private static readonly DiagnosticResult _expectedDiagnostics = new(
- Descriptors.S1000_UseAnsiConsoleOverSystemConsole.Id,
- DiagnosticSeverity.Warning);
-
- [Fact]
- public async void Non_configured_SystemConsole_methods_report_no_warnings()
- {
- const string Source = @"
-using System;
-
-class TestClass {
- void TestMethod()
- {
- var s = Console.ReadLine();
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source);
- }
-
- [Fact]
- public async void Console_Write_Has_Warning()
- {
- const string Source = @"
-using System;
-
-class TestClass {
- void TestMethod()
- {
- Console.Write(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source, _expectedDiagnostics.WithLocation(7, 9));
- }
-
- [Fact]
- public async void Console_WriteLine_Has_Warning()
- {
- const string Source = @"
-using System;
-
-class TestClass
-{
- void TestMethod() {
- Console.WriteLine(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyAnalyzerAsync(Source, _expectedDiagnostics.WithLocation(7, 9));
- }
-}
diff --git a/test/Spectre.Console.Analyzer.Tests/Unit/Fixes/UseInstanceOfStaticAnsiConsoleTests.cs b/test/Spectre.Console.Analyzer.Tests/Unit/Fixes/UseInstanceOfStaticAnsiConsoleTests.cs
deleted file mode 100644
index 34fc78596..000000000
--- a/test/Spectre.Console.Analyzer.Tests/Unit/Fixes/UseInstanceOfStaticAnsiConsoleTests.cs
+++ /dev/null
@@ -1,146 +0,0 @@
-namespace Spectre.Console.Analyzer.Tests.Unit.Fixes;
-
-public class UseInstanceOfStaticAnsiConsoleTests
-{
- private static readonly DiagnosticResult _expectedDiagnostic = new(
- Descriptors.S1010_FavorInstanceAnsiConsoleOverStatic.Id,
- DiagnosticSeverity.Info);
-
- [Fact]
- public async Task Static_call_replaced_with_field_call()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- IAnsiConsole _ansiConsole = AnsiConsole.Console;
-
- void TestMethod()
- {
- _ansiConsole.Write(""this is fine"");
- AnsiConsole.Write(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using Spectre.Console;
-
-class TestClass
-{
- IAnsiConsole _ansiConsole = AnsiConsole.Console;
-
- void TestMethod()
- {
- _ansiConsole.Write(""this is fine"");
- _ansiConsole.Write(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(11, 9), FixedSource);
- }
-
- [Fact]
- public async Task Static_call_replaced_with_field_call_Should_Preserve_Trivia()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- IAnsiConsole _ansiConsole = AnsiConsole.Console;
-
- void TestMethod()
- {
- var foo = 1;
-
- AnsiConsole.Write(""this is fine"");
- _ansiConsole.Write(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using Spectre.Console;
-
-class TestClass
-{
- IAnsiConsole _ansiConsole = AnsiConsole.Console;
-
- void TestMethod()
- {
- var foo = 1;
-
- _ansiConsole.Write(""this is fine"");
- _ansiConsole.Write(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(12, 9), FixedSource);
- }
-
- [Fact]
- public async Task Static_call_replaced_with_parameter_call()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- void TestMethod(IAnsiConsole ansiConsole)
- {
- AnsiConsole.Write(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using Spectre.Console;
-
-class TestClass
-{
- void TestMethod(IAnsiConsole ansiConsole)
- {
- ansiConsole.Write(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(8, 9), FixedSource);
- }
-
- [Fact]
- public async Task Static_call_replaced_with_static_field_if_valid()
- {
- const string Source = @"
-using Spectre.Console;
-
-class TestClass
-{
- static IAnsiConsole staticConsole;
- IAnsiConsole instanceConsole;
-
- static void TestMethod()
- {
- AnsiConsole.Write(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using Spectre.Console;
-
-class TestClass
-{
- static IAnsiConsole staticConsole;
- IAnsiConsole instanceConsole;
-
- static void TestMethod()
- {
- staticConsole.Write(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(11, 9), FixedSource);
- }
-}
diff --git a/test/Spectre.Console.Analyzer.Tests/Unit/Fixes/UseSpectreInsteadOfSystemConsoleFixTests.cs b/test/Spectre.Console.Analyzer.Tests/Unit/Fixes/UseSpectreInsteadOfSystemConsoleFixTests.cs
deleted file mode 100644
index b0eadad67..000000000
--- a/test/Spectre.Console.Analyzer.Tests/Unit/Fixes/UseSpectreInsteadOfSystemConsoleFixTests.cs
+++ /dev/null
@@ -1,324 +0,0 @@
-namespace Spectre.Console.Analyzer.Tests.Unit.Fixes;
-
-public class UseSpectreInsteadOfSystemConsoleFixTests
-{
- private static readonly DiagnosticResult _expectedDiagnostic = new(
- Descriptors.S1000_UseAnsiConsoleOverSystemConsole.Id,
- DiagnosticSeverity.Warning);
-
- [Fact]
- public async Task SystemConsole_replaced_with_AnsiConsole()
- {
- const string Source = @"
-using System;
-
-class TestClass
-{
- void TestMethod()
- {
- Console.WriteLine(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- void TestMethod()
- {
- AnsiConsole.WriteLine(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(8, 9), FixedSource);
- }
-
- [Fact]
- public async Task SystemConsole_replaced_with_imported_AnsiConsole()
- {
- const string Source = @"
-using System;
-
-class TestClass
-{
- void TestMethod()
- {
- Console.WriteLine(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- void TestMethod()
- {
- AnsiConsole.WriteLine(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(8, 9), FixedSource);
- }
-
- [Fact]
- public async Task SystemConsole_replaced_with_field_AnsiConsole()
- {
- const string Source = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- IAnsiConsole _ansiConsole;
-
- void TestMethod()
- {
- Console.WriteLine(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- IAnsiConsole _ansiConsole;
-
- void TestMethod()
- {
- _ansiConsole.WriteLine(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(11, 9), FixedSource);
- }
-
- [Fact]
- public async Task SystemConsole_replaced_with_local_variable_AnsiConsole()
- {
- const string Source = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- void TestMethod()
- {
- IAnsiConsole ansiConsole = null;
- Console.WriteLine(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- void TestMethod()
- {
- IAnsiConsole ansiConsole = null;
- ansiConsole.WriteLine(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(10, 9), FixedSource);
- }
-
- [Fact]
- public async Task SystemConsole_not_replaced_with_local_variable_declared_after_the_call()
- {
- const string Source = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- void TestMethod()
- {
- Console.WriteLine(""Hello, World"");
- IAnsiConsole ansiConsole;
- }
-}";
-
- const string FixedSource = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- void TestMethod()
- {
- AnsiConsole.WriteLine(""Hello, World"");
- IAnsiConsole ansiConsole;
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(9, 9), FixedSource);
- }
-
- [Fact]
- public async Task SystemConsole_replaced_with_static_field_AnsiConsole()
- {
- const string Source = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- static IAnsiConsole _ansiConsole;
-
- static void TestMethod()
- {
- Console.WriteLine(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- static IAnsiConsole _ansiConsole;
-
- static void TestMethod()
- {
- _ansiConsole.WriteLine(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(11, 9), FixedSource);
- }
-
- [Fact]
- public async Task SystemConsole_replaced_with_AnsiConsole_when_field_is_not_static()
- {
- const string Source = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- IAnsiConsole _ansiConsole;
-
- static void TestMethod()
- {
- Console.WriteLine(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- IAnsiConsole _ansiConsole;
-
- static void TestMethod()
- {
- AnsiConsole.WriteLine(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(11, 9), FixedSource);
- }
-
- [Fact]
- public async Task SystemConsole_replaced_with_AnsiConsole_from_local_function_parameter()
- {
- const string Source = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- static void TestMethod()
- {
- static void LocalFunction(IAnsiConsole ansiConsole) => Console.WriteLine(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- static void TestMethod()
- {
- static void LocalFunction(IAnsiConsole ansiConsole) => ansiConsole.WriteLine(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(9, 64), FixedSource);
- }
-
- [Fact]
- public async Task SystemConsole_do_not_use_variable_from_parent_method_in_static_local_function()
- {
- const string Source = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- static void TestMethod()
- {
- IAnsiConsole ansiConsole = null;
- static void LocalFunction() => Console.WriteLine(""Hello, World"");
- }
-}";
-
- const string FixedSource = @"
-using System;
-using Spectre.Console;
-
-class TestClass
-{
- static void TestMethod()
- {
- IAnsiConsole ansiConsole = null;
- static void LocalFunction() => AnsiConsole.WriteLine(""Hello, World"");
- }
-}";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, _expectedDiagnostic.WithLocation(10, 40), FixedSource);
- }
-
- [Fact]
- public async Task SystemConsole_replaced_with_AnsiConsole_in_top_level_statements()
- {
- const string Source = @"
-using System;
-
-Console.WriteLine(""Hello, World"");
-";
-
- const string FixedSource = @"
-using System;
-using Spectre.Console;
-
-AnsiConsole.WriteLine(""Hello, World"");
-";
-
- await SpectreAnalyzerVerifier
- .VerifyCodeFixAsync(Source, OutputKind.ConsoleApplication, _expectedDiagnostic.WithLocation(4, 1),
- FixedSource);
- }
-}
diff --git a/test/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj b/test/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj
deleted file mode 100644
index fede880e9..000000000
--- a/test/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- net8.0;net7.0;net6.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
-
diff --git a/test/Spectre.Console.Tests/Spectre.Console.Tests.csproj b/test/Spectre.Console.Tests/Spectre.Console.Tests.csproj
deleted file mode 100644
index 1004369b8..000000000
--- a/test/Spectre.Console.Tests/Spectre.Console.Tests.csproj
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
- net8.0;net7.0;net6.0
-
-
-
-
-
-
-
-
-
-
-
- Always
-
-
-
-
-
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
-
-