public static void TestCyclic() { var generator = new NumericGenerator(); var provider = new InMemoryProvider(); var sequence = new CyclicSequence(generator, provider); ShowSequence(sequence); }
public void GetEnumerator_Sample3Elements1Occureneces_GeneratesElements() { var cyclicSequence = new CyclicSequence<int>(new[] { 1, 2, 3 }); var elements = cyclicSequence.Take(6).ToList(); Assert.AreEqual(1, elements[0]); Assert.AreEqual(2, elements[1]); Assert.AreEqual(3, elements[2]); Assert.AreEqual(1, elements[3]); Assert.AreEqual(2, elements[4]); Assert.AreEqual(3, elements[5]); }
public void GetEnumerator_SampleLinq_ReturnsProperElement() { var cyclicSequence = new CyclicSequence<Directions>(Directions.North, Directions.East, Directions.South, Directions.West); var facing = Directions.East; var elem = cyclicSequence.SkipWhile(f => f != facing).Take(4).ToList(); facing = cyclicSequence.SkipWhile(f => f != facing).Skip(1).First(); Assert.AreEqual(Directions.South, facing); }
public void Next_Sample3Elements1Occureneces_Generates6Elements() { var cyclicSequence = new CyclicSequence<int>(new[] {1, 2, 3}); var elem1 = cyclicSequence.Next(); var elem2 = cyclicSequence.Next(); var elem3 = cyclicSequence.Next(); var elem4 = cyclicSequence.Next(); var elem5 = cyclicSequence.Next(); var elem6 = cyclicSequence.Next(); Assert.AreEqual(1, elem1); Assert.AreEqual(2, elem2); Assert.AreEqual(3, elem3); Assert.AreEqual(1, elem4); Assert.AreEqual(2, elem5); Assert.AreEqual(3, elem6); }