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 CountCharsInOutputParameterStoredProcedure_WithOutputParamatersAndNoReturnType_ReturnsOutputParamtersCorrectly()
        {
            // ARRANGE
            const string expectedValue1 = "MonkeyTube";
            const int initialValue2 = 0;
            int expectedvalue2 = expectedValue1.Length;
            var parameters = new CountCharsInOutputParameterStoredProcedure.Parameter
            {
                Value1 = expectedValue1,
                Value2 = initialValue2
            };
            var procedure = new CountCharsInOutputParameterStoredProcedure(parameters);

            // ACT
            Connection.ExecuteStoredProcedure(procedure);

            // ASSERT
            Assert.AreEqual(expectedvalue2, parameters.Value2);
        }