PageRenderTime 71ms CodeModel.GetById 69ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/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
25using System;
26using System.Threading;
27
28using NUnit.Framework;
29
30using Manos.ShouldExt;
31
32namespace Manos.Tests
33{
34	[TestFixture()]
35	public class AppHostTest
36	{
37		[Test()]
38		public void Start_NullApp_Throws ()
39		{
40			Should.Throw<ArgumentNullException> (() => AppHost.Start (null));
41		}
42		
43#if NO
44		[Test]
45		public void AddTimeout_TimeoutAddedBeforeStart_TimeoutIsFiredAfterStart ()
46		{
47			TimeSpan t = TimeSpan.FromMilliseconds (1);
48			
49			bool timeout_called = false;
50			AppHost.AddTimeout (t, RepeatBehavior.Single, null, (app, data) => timeout_called = true);
51
52			ThreadPool.QueueUserWorkItem (cb => AppHost.Start (new ManosAppStub ()));
53			Thread.Sleep (TimeSpan.FromSeconds (5));
54			AppHost.Stop ();
55			
56			Assert.IsTrue (timeout_called);
57		}
58#endif
59	}
60}
61