public void ExecuteStoredProcedure_WhenNotAlreadyOpened_ClosesConnection()
        {
            // ARRANGE
            const int expectedId = 10;
            var parameters = new ParametersAndReturnTypeStoredProcedure.Parameter()
            {
                Id = expectedId
            };
            var procedure = new ParametersAndReturnTypeStoredProcedure(parameters);

            // ACT
            Connection.ExecuteStoredProcedure(procedure);
            var connectionStillOpen = Connection.State == ConnectionState.Open;

            // ASSERT
            Assert.IsFalse(connectionStillOpen);
        }
        public void NormalStoredProcedure_WhenCalledOnSqlConnection_ReturnsCorrectValues()
        {
            // ARRANGE
            const int expectedId = 10;
            const string expectedName = @"Dave";
            const bool expectedActive = true;
            var parameters = new ParametersAndReturnTypeStoredProcedure.Parameter()
            {
                Id = expectedId
            };
            var procedure = new ParametersAndReturnTypeStoredProcedure(parameters);

            // ACT
            Connection.Open();
            var resultList = Connection.ExecuteStoredProcedure(procedure);
            Connection.Close();

            var result = resultList.First();

            // ASSERT
            Assert.AreEqual(expectedId, result.Id);
            Assert.AreEqual(expectedName, result.Name);
            Assert.AreEqual(expectedActive, result.Active);
        }