//[TestCase(1000)]
        public void Update_NormalUsage_BlinkingTakesGivenTime(long time)
        {
            var animation = CreateAnimation(time);
            var graphicMock = new GraphicComponentMock();
            var startTime = new GameTime();
            var endTime = CreateNextTime(time, startTime);

            animation.Update(startTime, graphicMock);
            graphicMock.Draw();

            Assert.False(graphicMock.WasDrawn);

            animation.Update(endTime, graphicMock);
            graphicMock.Draw();

            Assert.True(graphicMock.WasDrawn);
            
            
        }
        public void Update_WithDifferentTimes_GraphicComponentVisibilityIsAsExpected(long time, long animationTime, bool expectedVisibility)
        {
            var animation = CreateAnimation(animationTime);
            var graphicMock = new GraphicComponentMock();
            var startTime = new GameTime();
            var endTime = CreateNextTime(time, startTime);

            animation.Update(startTime, graphicMock);
            animation.Update(endTime, graphicMock);
            graphicMock.Draw();

            Assert.AreEqual(expectedVisibility, graphicMock.IsVisible);
        }