public void should_return_system_variable()
        {
            // given
            const string environment      = "another-environment";
            var          expectedVariable = new Variable("some-other-name", "jingle-jangle", environment);

            _sharedVariablesProvider.ListSharedVariables_Value = new IVariable[] { expectedVariable };

            // when
            var variableContainer = new VariableContainer(environment, _reservedVariableProvider, _sharedVariablesProvider);
            var result            = variableContainer.FirstOrDefault(x => x == expectedVariable);

            // then
            Assert.That(result, Is.Not.Null);
        }
        public void should_not_add_or_return_variable_assigned_against_a_different_environment()
        {
            // given
            const string environment       = "YAY";
            var          variableContainer = new VariableContainer(environment, _reservedVariableProvider, _sharedVariablesProvider);
            var          variable          = new Variable("my variable", "some value", "NOT ME");

            // when
            variableContainer.Add(variable);

            // then
            var result = variableContainer.FirstOrDefault(x => x == variable);

            Assert.That(result, Is.Null);
        }
        public void should_return_reserved_variable()
        {
            // given
            const string environment      = "another-environment";
            var          expectedVariable = new Variable("namey", "valuey", environment);
            var          reservedVariable = new Mock <IReservedVariable>();

            reservedVariable
            .Setup(x => x.CreateVariable())
            .Returns(expectedVariable);

            _reservedVariableProvider.ListAvailableVariables_Value = new[] { reservedVariable.Object };

            // when
            var variableContainer = new VariableContainer(environment, _reservedVariableProvider, _sharedVariablesProvider);
            var result            = variableContainer.FirstOrDefault(x => x == expectedVariable);

            // then
            Assert.That(result, Is.Not.Null);
        }