MainLoopTTests.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using System.Collections.Concurrent;
  3. using System.Collections.Generic;
  4. using Moq;
  5. namespace UnitTests.ConsoleDrivers.V2;
  6. public class MainLoopTTests
  7. {
  8. [Fact]
  9. public void MainLoopT_NotInitialized_Throws()
  10. {
  11. var m = new MainLoop<int> ();
  12. Assert.Throws<NotInitializedException> (() => m.TimedEvents);
  13. Assert.Throws<NotInitializedException> (() => m.InputBuffer);
  14. Assert.Throws<NotInitializedException> (() => m.InputProcessor);
  15. Assert.Throws<NotInitializedException> (() => m.Out);
  16. Assert.Throws<NotInitializedException> (() => m.AnsiRequestScheduler);
  17. Assert.Throws<NotInitializedException> (() => m.WindowSizeMonitor);
  18. m.Initialize (new TimedEvents (),
  19. new ConcurrentQueue<int> (),
  20. Mock.Of <IInputProcessor>(),
  21. Mock.Of<IConsoleOutput>());
  22. Assert.NotNull (m.TimedEvents);
  23. Assert.NotNull (m.InputBuffer);
  24. Assert.NotNull (m.InputProcessor);
  25. Assert.NotNull (m.Out);
  26. Assert.NotNull (m.AnsiRequestScheduler);
  27. Assert.NotNull (m.WindowSizeMonitor);
  28. }
  29. }