public void GetRankingsOffensive_ExceptionCaught_LogsAndRethrowsException()
        {
            // Arrange
            var dbContext  = A.Fake <ProFootballEntities>();
            var repository = new StoredProcedureRepository(dbContext);

            var seasonID = 2017;

            A.CallTo(() => dbContext.GetRankingsOffensive(A <int> .Ignored)).Throws <Exception>();

            // Act
            ObjectResult <GetRankingsOffensive_Result> result = null;

            Assert.Throws <Exception>(() => result = result = repository.GetRankingsOffensive(seasonID));

            // Assert
            Assert.IsNull(result);
        }
        public void GetRankingsOffensive_HappyPath()
        {
            // Arrange
            var dbContext  = A.Fake <ProFootballEntities>();
            var repository = new StoredProcedureRepository(dbContext);

            var seasonID = 2017;

            var offensiveRankings = A.Fake <ObjectResult <GetRankingsOffensive_Result> >();

            A.CallTo(() => dbContext.GetRankingsOffensive(A <int> .Ignored)).Returns(offensiveRankings);

            // Act
            var result = repository.GetRankingsOffensive(seasonID);

            // Assert
            A.CallTo(() => dbContext.GetRankingsOffensive(seasonID)).MustHaveHappenedOnceExactly();
            Assert.AreSame(offensiveRankings, result);
        }