Android.NUnitLite.UI.TestCaseElement.GetView C# (CSharp) Method

GetView() public method

public GetView ( Android.Content.Context context, Android.Views.View convertView, Android.Views.ViewGroup parent ) : Android.Views.View
context Android.Content.Context
convertView Android.Views.View
parent Android.Views.ViewGroup
return Android.Views.View
		public override View GetView (Context context, View convertView, ViewGroup parent)
		{
			View view = base.GetView (context, convertView, parent);
			view.Click += delegate {
				if (TestCase.RunState != RunState.Runnable)
					return;
								
				AndroidRunner runner = AndroidRunner.Runner;
				if (!runner.OpenWriter ("Run " + TestCase.FullName, context))
					return;

				var suite = (TestCase.Parent as TestSuite);
                while(suite != null && suite.arguments == null) {
                    suite = suite.Parent as TestSuite;
                }

				var testContext = TestExecutionContext.CurrentContext;
                testContext.TestObject = Reflect.Construct (TestCase.Method.ReflectedType, suite.arguments);

				
				try {
					suite.GetOneTimeSetUpCommand ().Execute (testContext);
					Run ();
					suite.GetOneTimeTearDownCommand ().Execute (testContext);
				}
				finally {
					runner.CloseWriter ();
				}

				if ((TestCase.RunState == RunState.Runnable) && !Result.IsSuccess()) {
					Intent intent = new Intent (context, typeof (TestResultActivity));
					intent.PutExtra ("TestCase", Name);
					intent.AddFlags (ActivityFlags.NewTask);			
					context.StartActivity (intent);
				} 
			};
			return view;
		}