public void IsCheckEnabled_returns_false_when_SingleConcurrentLoginEnabled_appSettings_key_is_present_but_has_an_empty_value()
        {
            // add some basic appSettingsValues that has SingleConcurrentLoginEnabled in it but it has an empty value
            var appSettingsValues = new NameValueCollection();
            appSettingsValues.Add("SingleConcurrentLoginEnabled", "    ");

            var wasAppSettingsGetCalled = false;
            bool result;

            var mySingleConcurrentLoginRules = new SingleConcurrentLoginRules();

            using (ShimsContext.Create())
            {
                // Changing the default behavior appsetting and put our custom behavior

                ShimConfigurationManager.AppSettingsGet = () =>
                {
                    wasAppSettingsGetCalled = true;
                    return appSettingsValues;
                };

                // When calling IsCheckEnabledActor
                result = mySingleConcurrentLoginRules.IsCheckEnabled();
            }

            Assert.IsFalse(result, "IsCheckEnabled is true");
            Assert.IsTrue(wasAppSettingsGetCalled, "AppSettingsGet was not called");
        }
        public void IsCheckEnabled_returns_false_when_SingleConcurrentLoginEnabled_appSettings_key_is_missing()
        {
            // add some basic appSettingsValues that doesn't have SingleConcurrentLoginEnabled in it
            var appSettingsValues = new NameValueCollection();
            appSettingsValues.Add("LocalConnectionString", "/*** Some connection string ***/");

            var wasAppSettingsGetCalled = false;
            bool result;

            var mySingleConcurrentLoginRules = new SingleConcurrentLoginRules();

            using (ShimsContext.Create())
            {
                // Changing the default behavior appsetting and put our custom behavior

                ShimConfigurationManager.AppSettingsGet = () =>
                {
                    wasAppSettingsGetCalled = true;
                    return appSettingsValues;
                };

                // When calling IsCheckEnabledActor
                result = mySingleConcurrentLoginRules.IsCheckEnabled();
            }

            Assert.IsFalse(result, "IsCheckEnabled is true");
            Assert.IsTrue(wasAppSettingsGetCalled, "AppSettingsGet was not called");
        }
        public void MyTestInitialize()
        {
            using (ShimsContext.Create())
            {
                // Set up the LoginControllerForTests
                LoginControllerForTests = DependencyResolver.Current.GetService<LoginController>();

                // Set up the LoginViewModelForTests
                var logout = new Logout();
                var myErrorLoggingService = new ErrorLoggingService();
                var mySingleConcurrentLoginRules = new SingleConcurrentLoginRules();
                var mySIMPLSessionEntitiesRepository = new SIMPLSessionEntitiesRepository(myErrorLoggingService);
                var mySingleConConcurrentLoginManager = new SingleConcurrentLoginManager(mySingleConcurrentLoginRules, myErrorLoggingService, mySIMPLSessionEntitiesRepository);
                LoginViewModelForTests = new LoginViewModel(logout, myErrorLoggingService, mySingleConcurrentLoginRules, mySingleConConcurrentLoginManager, mySIMPLSessionEntitiesRepository);
                ConfigControllerForTests = DependencyResolver.Current.GetService<ConfigController>();
            }
        }