Пример #1
0
        public void TestReset()
        {
            IntGenerator generator = IntGenerator.Of(0, 31);

            Assert.AreEqual(0, generator.Get());
            generator.MoveNext();
            Assert.AreEqual(0, (int)generator.Current);
            Assert.AreEqual(1, generator.Get());
            Assert.AreEqual(1, generator.Get());
            generator.MoveNext();
            Assert.AreEqual(1, (int)generator.Current);
            generator.MoveNext();
            Assert.AreEqual(2, (int)generator.Current);
            Assert.AreEqual(3, generator.Get());

            generator.Reset();
            Assert.AreEqual(0, generator.Get());
            generator.MoveNext();
            Assert.AreEqual(0, (int)generator.Current);
            Assert.AreEqual(1, generator.Get());
            Assert.AreEqual(1, generator.Get());
            generator.MoveNext();
            Assert.AreEqual(1, (int)generator.Current);
            generator.MoveNext();
            Assert.AreEqual(2, (int)generator.Current);
            Assert.AreEqual(3, generator.Get());
        }