// TODO: possibly use dynamic method invocation
 public BanController CreateTestController(
     UserLogic user = null,
     ISubscriptionAccessRightsLogic subscriptionAccessRights = null,
     IAccountLogic account = null
     )
 {
     user = Eval <UserLogic>(Params.User, user);
     subscriptionAccessRights = Eval <ISubscriptionAccessRightsLogic>(Params.SubscriptionAccessRights, subscriptionAccessRights);
     account = Eval <IAccountLogic>(Params.Account, account);
     return(new BanController(user, subscriptionAccessRights, account));
 }
        public new void Setup()
        {
            _userLogic                     = GetInst <UserLogic>();
            _banAccessRightsLogic          = GetInst <BanAccessRightsLogic>();
            _userProfileLogic              = GetInst <IUserProfileLogic>();
            _accountLogic                  = GetInst <IAccountLogic>();
            _subscriptionAccessRightsLogic = GetInst <ISubscriptionAccessRightsLogic>();
            _creditAgreementLogic          = GetInst <ICreditAgreementLogic>();
            _invoiceService                = GetInst <IInvoiceService>();

            dict = new Dictionary <Params, object>()
            {
                { Params.User, _userLogic },
                { Params.BanAccessRights, _banAccessRightsLogic },
                { Params.UserProfile, _userProfileLogic },
                { Params.Account, _accountLogic },
                { Params.SubscriptionAccessRights, _subscriptionAccessRightsLogic },
                { Params.CreditAgreement, _creditAgreementLogic },
                { Params.InvoiceService, _invoiceService }
            };

            base.Setup();
        }