////////////////////////////////////////////////////////////////////////// private void OnLoad(object sender, EventArgs e) { this.MinimumSize = this.Size; AppMgr.Settings.LoadFromXmlFile(); LoadLayout(AppMgr.Settings); LoadSettings(AppMgr.Settings); // build menus and toolbars ActionStripItem MainMenuDef = DefineMainMenu(); ActContext.StripBuilder.AddToolStrip(MainMenuDef, MainMenu.Items, true); ActionStripItem MainToolbarDef = DefineMainToolbar(); ActContext.StripBuilder.AddToolStrip(MainToolbarDef, MainToolbar.Items, false); ActContext.ActivateObject(ActiveObjectSlot.Application, this); ActContext.StripBuilder.SetManagedToolStripsState(); // handle command-line if (Environment.GetCommandLineArgs().Length > 1) { OpenFile(Environment.GetCommandLineArgs()[1]); } }
/// <inheritdoc /> public override T Invoke(ActContext context) { if (_Assignee.Body is MemberExpression memberGetExpression) { var closureExpression = memberGetExpression.Expression as MemberExpression; var member = Method != null ? Expression.Property(closureExpression, Method) : Expression.Field(closureExpression, Field); var lambda = Expression.Lambda(Expression.Assign(member, Expression.Constant(_Value, typeof(T)))).Compile(); return((T)lambda.DynamicInvoke()); } var methodCall = (MethodCallExpression)_Assignee.Body; var args = new List <Expression>(_Arguments) { Expression.Constant(_Value) }; var indexerCall = Expression.Call(methodCall.Object, Method, args.ToArray()); Expression.Lambda(indexerCall).Compile().DynamicInvoke(); return(default(T)); }
/// <summary> /// Sets the implicit wait handle of the <see cref="ActContext" />. /// </summary> /// <param name="context">The <see cref="ActContext" /> for which to set the implicit wait handle</param> /// <exception cref="BadTestException"> /// If the Wait assertion is not waiting the implicit wait handle ( /// <see cref="WaitContextHandle(SmartTests.SmartAssertPlaceHolder,System.TimeSpan)" /> nor /// <see cref="WaitContextHandle(SmartTests.SmartAssertPlaceHolder,double)" /> is called). /// </exception> /// <example> /// <para> /// In this example, the <c>SetHandle</c> set the implicit wait handle expected by the /// <see cref="WaitContextHandle(SmartTests.SmartAssertPlaceHolder,double)" /> Smart Assertion call. /// </para> /// <code> /// [Test] /// public void MyMethodTest() /// { /// var mc = new MyClass(300); /// /// RunTest( AnyValue.IsValid, /// ctx => mc.Method( ctx.SetHandle ), /// SmartAssert.Within( 100 ), /// SmartAssert.WaitContextHandle( 1000 ) ); /// /// Assert.IsTrue( mc.Done ); // The method runs the parallel code (ctx.SetHandle) to its end. /// Assert.IsNull( mc.Exception ); // There was no exception in the parallel code thread. /// }</code> /// </example> public static void SetHandle(this ActContext context) { context[_ContextHandleSet] = true; if (!context.TryGetValue(_ContextHandle, out EventWaitHandle obj)) { throw SmartTest.InconclusiveException(Resource.BadTest_UnexpectedContextSetHandle); } obj.Set(); }
private void button2_Click(object sender, EventArgs e) { if (!Act) { ActContext.ActivateObject(ActiveObjectSlot.Application, this); } else { ActContext.ActivateObject(ActiveObjectSlot.Application, null); } Act = !Act; }
private void button3_Click(object sender, EventArgs e) { if (!Act2) { ActContext.ActivateObject(ActiveObjectSlot.Control, Test); } else { ActContext.ActivateObject(ActiveObjectSlot.Control, null); } Act2 = !Act2; }
/// <summary> /// Run the Act part of your test with a context. /// </summary> /// <param name="context">The <see cref="ActContext" /> of the test.</param> public abstract void Invoke(ActContext context);
/// <inheritdoc /> public override void Invoke(ActContext context) => _Invocation(context);
////////////////////////////////////////////////////////////////////////// private void OnFormClosed(object sender, FormClosedEventArgs e) { ActContext.DetachIdleEvent(); }