public void Should_add_element_with_full_name_of_type_as_key_when_invoking_addvalue()
        {
            // Given
            var environment = new DefaultNancyEnvironment();
            var expected    = typeof(INancyEnvironmentExtensionsFixture).FullName;

            // When
            environment.AddValue <INancyEnvironmentExtensionsFixture>(null);

            // Then
            environment.ContainsKey(expected).ShouldBeTrue();
        }
        public void Should_add_element_with_full_name_of_type_as_key_when_invoking_addvalue()
        {
            // Given
            var environment = new DefaultNancyEnvironment();
            var expected = typeof(INancyEnvironmentExtensionsFixture).FullName;

            // When
            environment.AddValue<INancyEnvironmentExtensionsFixture>(null);

            // Then
            environment.ContainsKey(expected).ShouldBeTrue();
        }
        public void Should_return_correct_key_presence_when_invoking_containskey(string keyToAdd, string keyToLookFor, bool expectedResult)
        {
            // Given
            var environment = new DefaultNancyEnvironment();

            environment.AddValue(keyToAdd, new object());

            // When
            var result = environment.ContainsKey(keyToLookFor);

            // Then
            result.ShouldEqual(expectedResult);
        }
        public void Should_get_key_from_configuration_provider_for_default_configuration_object(Type type)
        {
            // Given
            var expectedKey = string.Concat("the-expected-key-", type.Name);
            var env         = new DefaultNancyEnvironment();

            var fact = A.Fake <INancyEnvironmentFactory>();

            A.CallTo(() => fact.CreateEnvironment()).Returns(env);

            var provider = A.Fake <INancyDefaultConfigurationProvider>();

            A.CallTo(() => provider.GetDefaultConfiguration()).ReturnsLazily(() => Activator.CreateInstance(type));
            A.CallTo(() => provider.Key).Returns(expectedKey);

            var config = new DefaultNancyEnvironmentConfigurator(fact, new[] { provider });

            // When
            config.ConfigureEnvironment(x => { });

            // Then
            env.ContainsKey(expectedKey).ShouldBeTrue();
        }
        public void Should_return_correct_key_presence_when_invoking_containskey(string keyToAdd, string keyToLookFor, bool expectedResult)
        {
            // Given
            var environment = new DefaultNancyEnvironment();
            environment.AddValue(keyToAdd, new object());

            // When
            var result = environment.ContainsKey(keyToLookFor);

            // Then
            result.ShouldEqual(expectedResult);
        }
        public void Should_get_key_from_configuration_provider_for_default_configuration_object(Type type)
        {
            // Given
            var expectedKey = string.Concat("the-expected-key-", type.Name);
            var env = new DefaultNancyEnvironment();

            var fact = A.Fake<INancyEnvironmentFactory>();
            A.CallTo(() => fact.CreateEnvironment()).Returns(env);

            var provider = A.Fake<INancyDefaultConfigurationProvider>();
            A.CallTo(() => provider.GetDefaultConfiguration()).ReturnsLazily(() => Activator.CreateInstance(type));
            A.CallTo(() => provider.Key).Returns(expectedKey);

            var config = new DefaultNancyEnvironmentConfigurator(fact, new[] { provider });

            // When
            config.ConfigureEnvironment(x => { });

            // Then
            env.ContainsKey(expectedKey).ShouldBeTrue();
        }