|
@@ -1,18 +1,13 @@
|
|
using System;
|
|
using System;
|
|
-using System.Collections.Generic;
|
|
|
|
using System.Linq;
|
|
using System.Linq;
|
|
using System.Threading;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Threading.Tasks;
|
|
-using Terminal.Gui;
|
|
|
|
using Xunit;
|
|
using Xunit;
|
|
|
|
|
|
// Alais Console to MockConsole so we don't accidentally use Console
|
|
// Alais Console to MockConsole so we don't accidentally use Console
|
|
using Console = Terminal.Gui.FakeConsole;
|
|
using Console = Terminal.Gui.FakeConsole;
|
|
|
|
|
|
-// Since Application is a singleton we can't run tests in parallel
|
|
|
|
-[assembly: CollectionBehavior (DisableTestParallelization = true)]
|
|
|
|
-
|
|
|
|
-namespace Terminal.Gui {
|
|
|
|
|
|
+namespace Terminal.Gui.Core {
|
|
public class ApplicationTests {
|
|
public class ApplicationTests {
|
|
public ApplicationTests ()
|
|
public ApplicationTests ()
|
|
{
|
|
{
|
|
@@ -24,26 +19,51 @@ namespace Terminal.Gui {
|
|
[Fact]
|
|
[Fact]
|
|
public void Init_Shutdown_Cleans_Up ()
|
|
public void Init_Shutdown_Cleans_Up ()
|
|
{
|
|
{
|
|
- Assert.Null (Application.Current);
|
|
|
|
- Assert.Null (Application.Top);
|
|
|
|
- Assert.Null (Application.MainLoop);
|
|
|
|
- Assert.Null (Application.Driver);
|
|
|
|
|
|
+ // Verify inital state is per spec
|
|
|
|
+ Pre_Init_State ();
|
|
|
|
|
|
Application.Init (new FakeDriver (), new FakeMainLoop (() => FakeConsole.ReadKey (true)));
|
|
Application.Init (new FakeDriver (), new FakeMainLoop (() => FakeConsole.ReadKey (true)));
|
|
- Assert.NotNull (Application.Current);
|
|
|
|
- Assert.NotNull (Application.Top);
|
|
|
|
- Assert.NotNull (Application.MainLoop);
|
|
|
|
- Assert.NotNull (Application.Driver);
|
|
|
|
|
|
+
|
|
|
|
+ // Verify post-Init state is correct
|
|
|
|
+ Post_Init_State ();
|
|
|
|
|
|
// MockDriver is always 80x25
|
|
// MockDriver is always 80x25
|
|
Assert.Equal (80, Application.Driver.Cols);
|
|
Assert.Equal (80, Application.Driver.Cols);
|
|
Assert.Equal (25, Application.Driver.Rows);
|
|
Assert.Equal (25, Application.Driver.Rows);
|
|
|
|
|
|
Application.Shutdown ();
|
|
Application.Shutdown ();
|
|
- Assert.Null (Application.Current);
|
|
|
|
|
|
+
|
|
|
|
+ // Verify state is back to initial
|
|
|
|
+ Pre_Init_State ();
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ void Pre_Init_State ()
|
|
|
|
+ {
|
|
|
|
+ Assert.Null (Application.Driver);
|
|
Assert.Null (Application.Top);
|
|
Assert.Null (Application.Top);
|
|
|
|
+ Assert.Null (Application.Current);
|
|
|
|
+ Assert.Throws<ArgumentNullException> (() => Application.HeightAsBuffer == true);
|
|
|
|
+ Assert.False (Application.AlwaysSetPosition);
|
|
Assert.Null (Application.MainLoop);
|
|
Assert.Null (Application.MainLoop);
|
|
- Assert.Null (Application.Driver);
|
|
|
|
|
|
+ Assert.Null (Application.Iteration);
|
|
|
|
+ Assert.False (Application.UseSystemConsole);
|
|
|
|
+ Assert.Null (Application.RootMouseEvent);
|
|
|
|
+ Assert.Null (Application.Resized);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ void Post_Init_State ()
|
|
|
|
+ {
|
|
|
|
+ Assert.NotNull (Application.Driver);
|
|
|
|
+ Assert.NotNull (Application.Top);
|
|
|
|
+ Assert.NotNull (Application.Current);
|
|
|
|
+ Assert.False (Application.HeightAsBuffer);
|
|
|
|
+ Assert.False (Application.AlwaysSetPosition);
|
|
|
|
+ Assert.NotNull (Application.MainLoop);
|
|
|
|
+ Assert.Null (Application.Iteration);
|
|
|
|
+ Assert.False (Application.UseSystemConsole);
|
|
|
|
+ Assert.Null (Application.RootMouseEvent);
|
|
|
|
+ Assert.Null (Application.Resized);
|
|
}
|
|
}
|
|
|
|
|
|
[Fact]
|
|
[Fact]
|