/src/Manos.Tests/Manos/AppHostTest.cs

http://github.com/jacksonh/manos · C# · 61 lines · 29 code · 9 blank · 23 comment · 0 complexity · 48a08b021e451fe770e0e8a1c638f1e8 MD5 · raw file

  1. //
  2. // Copyright (C) 2010 Jackson Harper (jackson@manosdemono.com)
  3. //
  4. // Permission is hereby granted, free of charge, to any person obtaining
  5. // a copy of this software and associated documentation files (the
  6. // "Software"), to deal in the Software without restriction, including
  7. // without limitation the rights to use, copy, modify, merge, publish,
  8. // distribute, sublicense, and/or sell copies of the Software, and to
  9. // permit persons to whom the Software is furnished to do so, subject to
  10. // the following conditions:
  11. //
  12. // The above copyright notice and this permission notice shall be
  13. // included in all copies or substantial portions of the Software.
  14. //
  15. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  16. // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  17. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  18. // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
  19. // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  20. // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  21. // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  22. //
  23. //
  24. using System;
  25. using System.Threading;
  26. using NUnit.Framework;
  27. using Manos.ShouldExt;
  28. namespace Manos.Tests
  29. {
  30. [TestFixture()]
  31. public class AppHostTest
  32. {
  33. [Test()]
  34. public void Start_NullApp_Throws ()
  35. {
  36. Should.Throw<ArgumentNullException> (() => AppHost.Start (null));
  37. }
  38. #if NO
  39. [Test]
  40. public void AddTimeout_TimeoutAddedBeforeStart_TimeoutIsFiredAfterStart ()
  41. {
  42. TimeSpan t = TimeSpan.FromMilliseconds (1);
  43. bool timeout_called = false;
  44. AppHost.AddTimeout (t, RepeatBehavior.Single, null, (app, data) => timeout_called = true);
  45. ThreadPool.QueueUserWorkItem (cb => AppHost.Start (new ManosAppStub ()));
  46. Thread.Sleep (TimeSpan.FromSeconds (5));
  47. AppHost.Stop ();
  48. Assert.IsTrue (timeout_called);
  49. }
  50. #endif
  51. }
  52. }