/// <summary> /// Gets the register methods for a specified behavior. /// </summary> /// <param name="behavior">The behavior.</param> /// <returns></returns> private RegisterMethods GetRegisterMethods(Type behavior) { return(_methodCache.GetOrAdd(behavior, type => { var info = typeof(Cache <TContext>).GetTypeInfo(); var result = new RegisterMethods(); var pCache = Expression.Parameter(typeof(Cache <TContext>), "cache"); var pFunc = Expression.Parameter(typeof(Func <TContext, IBehavior>), "factory"); foreach (var method in info.GetMethods(BindingFlags.Public | BindingFlags.Instance)) { if (!method.IsGenericMethod || method.GetParameters().Length != 1) { continue; } if (string.CompareOrdinal(method.Name, nameof(RegisterAfter)) == 0) { result.After = Expression.Lambda <RegisterMethod>(Expression.Call(pCache, method.MakeGenericMethod(behavior), pFunc), pCache, pFunc).Compile(); } else if (string.CompareOrdinal(method.Name, nameof(RegisterBefore)) == 0) { result.Before = Expression.Lambda <RegisterMethod>(Expression.Call(pCache, method.MakeGenericMethod(behavior), pFunc), pCache, pFunc).Compile(); } } return result; })); }
public RegisterResponse Register(RegisterRequest request) { if (request == null) { throw new ArgumentNullException("Null request"); } var registerMethods = new RegisterMethods(); RegisterResponse response = registerMethods.Register(request); return(response); }
public void RegisterValidUser(IUser externalValidUsers) { //Arrange RegisterMethods register = new RegisterMethods(); //Step 1 bool result1 = register.GoToAuthenticationPage().IsDisplayedLabelCreateAccount(); Assert.IsTrue(result1, "Go to Authentication page"); //Step 2 bool result2 = register.EnteringEmailFieldCreateAccount(externalValidUsers).IsDisplayedTitle(); Assert.IsTrue(result2, "Go to Create Account page"); //Step 3 bool result3 = register.EnteringAllFieldsForCreateAccountAndRegistered(externalValidUsers).IsDisplayedOrderHistory(); Assert.IsTrue(result3, "Account is Registered"); }
public RegisterWindow() { InitializeComponent(); registerMethods = new RegisterMethods(); user = new UserInfoModel(); }