public void AssertRepetitionProgressionPattern() { const int pauseAfter = 20; const int start = 1; Func<int, int> progression = x => x + 1; var repetitionExpectedResultPair = new Dictionary<int, string> { {1, "1,2,3,4,5,6,7,8,9,10,11,12"}, {2, "1,1,2,2,3,3,4,4,5,5,6,6"}, {4, "1,1,1,1,2,2,2,2,3,3,3,3"} }; foreach (var pair in repetitionExpectedResultPair) { var repititions = pair.Key; var expected = pair.Value; var e = new Sequencer<int>(start, repititions, pauseAfter, progression); var results = new List<int>(); const int noOfElements = 12; for (var i = 0; i < noOfElements; i++) { e.MoveNext(); var next = e.Current; results.Add(next); } var distances = string.Join(",", results.ConvertAll(x => x.ToString()).ToArray()); Assert.AreEqual(expected, distances); } }
public void Update(GameTime time) { TimeSpan newTime = time.TotalGameTime; if (m_LastChanged == TimeSpan.MinValue || m_LastChanged.Add(new TimeSpan(0, 0, 0, 0, Current.DelayValue)) <= newTime) { m_LastChanged = newTime; ImageChanger.MoveNext(); } }