Пример #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());
        }
Пример #2
0
        public void TestOf()
        {
            List <int> l = new List <int>();

            l.Add(42);
            Generator <int> g = Generator <int> .Of(l, IntGenerator.Of(0, 1));

            Assert.IsTrue(g.MoveNext());
            Assert.AreEqual(42, (int)g.Current);
            Assert.IsFalse(g.MoveNext());
        }
Пример #3
0
        public void TestCount()
        {
            IntGenerator generator = IntGenerator.Of(-4, -4);

            Assert.AreEqual(0, generator.Count);
            generator.MoveNext();
            Assert.AreEqual(-4, generator.Current);
            generator.MoveNext();
            Assert.AreEqual(-4, generator.Current);
            Assert.IsFalse(generator.MoveNext());
        }
Пример #4
0
        public void TestIntegerGenerator_SpecifyNext()
        {
            int i = 28;

            Generator <int> generator = IntGenerator.Of(i, 31);

            generator.MoveNext();
            Assert.IsFalse(generator.Current == 29);

            generator.MoveNext();
            Assert.IsTrue(generator.Current == 29);
            generator.MoveNext();
            Assert.IsTrue(generator.Current == 30);
            Assert.IsFalse(generator.MoveNext());
        }
Пример #5
0
        public void TestIntegerGenerator()
        {
            int i = 0;

            Generator <int> generator = IntGenerator.Of(0, 31);

            foreach (int result in generator)
            {
                Assert.AreNotEqual(result, i - 1);
                Assert.AreNotEqual(result, i + 1);
                Assert.AreEqual(result, i);
                i++;
            }

            Assert.IsTrue(i == 31);
            Assert.IsFalse(i == 32);
        }