public void NoMoveNextTest()
        {
            //Assert.Fail();
            var    e = new GenerateEnumerator(1u, 2u, 3u);
            object x;

            Assert.Throws <InvalidOperationException>(() => x = e.Current);
        }
        public bool MoveNextTest(uint start, uint last, uint step)
        {
            //Assert.Fail();
            var e = new GenerateEnumerator(start, last, step);

            Assert.IsTrue(e.MoveNext());
            return(e.MoveNext());
        }
        public uint FirstTest(uint start, uint last, uint step)
        {
            //Assert.Fail();
            var e = new GenerateEnumerator(start, last, step);

            Assert.True(e.MoveNext());
            return(e.Current);
        }
        public uint LastValueTest(uint start, uint last, uint step)
        {
            //Assert.Fail();
            var  e   = new GenerateEnumerator(start, last, step);
            uint res = 0u;

            while (e.MoveNext())
            {
                res = e.Current;
            }
            return(res);
        }
        public void InvalidOperationTest()
        {
            //Assert.Fail();
            var e = new GenerateEnumerator(1u, 1u, 1u);

            while (e.MoveNext())
            {
                ;
            }
            object x;

            Assert.Throws <InvalidOperationException>(() => x = e.Current);
        }