public async Task AddTrackAsync_ShouldReturnStatusCode400_WhenTrackIsInvalid()
        {
            Track track = null;

            _projectBLMock.Setup(i => i.AddTrackAsync(track)).Throws(new NullReferenceException());
            TrackController trackController = new TrackController(_projectBLMock.Object);
            var             result          = await trackController.AddTrackAsync(track);

            Assert.IsType <StatusCodeResult>(result);
            Assert.Equal(400, ((StatusCodeResult)result).StatusCode);
        }
        public async Task AddTrackShouldAddTrack()
        {
            var track = new Track();

            _projectBLMock.Setup(x => x.AddTrackAsync(It.IsAny <Track>())).Returns(Task.FromResult <Track>(track));
            var trackController = new TrackController(_projectBLMock.Object);
            var result          = await trackController.AddTrackAsync(new Track());

            Assert.IsAssignableFrom <CreatedAtActionResult>(result);
            _projectBLMock.Verify(x => x.AddTrackAsync((It.IsAny <Track>())));
        }