public void Construct_WhenGivenInputSqlParameter_PopulatesParameterValuecorrectly()
        {
            // ARRANGE
            const string expectedValue1 = "MonkeyTube";
            const int initialValue2 = 0;
            const int expectedvalue2 = 99;
            var parameters = new CountCharsInOutputParameterStoredProcedure.Parameter
            {
                Value1 = expectedValue1,
                Value2 = initialValue2
            };
            _sqlParameter2.Direction = ParameterDirection.Input;
            _sqlParameter2.Value = expectedvalue2;
            var sqlParameters = new List<SqlParameter>
            {
                _sqlParameter1,
                _sqlParameter2
            };

            var procedure = new CountCharsInOutputParameterStoredProcedure(parameters);
            var processor = new OutputParameterValueProcessor<NullStoredProcedureResult, CountCharsInOutputParameterStoredProcedure.Parameter>(sqlParameters, procedure);

            // ACT
            processor.Processs();

            // ASSERT
            Assert.AreNotEqual(expectedvalue2, parameters.Value2);
        }
        public void Construct_WithNullStoredProcedure_ThrowsException()
        {
            // ARRANGE
            _sqlParameter1.Direction = ParameterDirection.Output;
            var sqlParameters = new List<SqlParameter>
            {
                _sqlParameter1,
                _sqlParameter2
            };

            CountCharsInOutputParameterStoredProcedure procedure = null;
            // ReSharper disable once ExpressionIsAlwaysNull
            var processor = new OutputParameterValueProcessor<NullStoredProcedureResult, CountCharsInOutputParameterStoredProcedure.Parameter>(sqlParameters, procedure);

            // ACT
            processor.Processs();

            // ASSERT
            // Exception should have already happenned
        }