Пример #1
0
        public void PropellerAdvance1Test()
        {
            var propeller = new Propeller <int>(1000, 3, 1);

            propeller.Push(1);

            int step;

            if (!propeller.Advance(1000, out step))
            {
                Assert.Fail();
            }
            Assert.AreEqual(0, step);
            if (!propeller.Advance(1000, out step))
            {
                Assert.Fail();
            }
            Assert.AreEqual(0, step);
            if (!propeller.Advance(1000, out step))
            {
                Assert.Fail();
            }

            Assert.AreEqual(1, step);
        }
Пример #2
0
        public void PropellerAdvanceEmpty1Test()
        {
            var propeller = new Propeller <int>(1000, 3, 1);
            int step;

            if (propeller.Advance(1000, out step))
            {
                Assert.Fail();
            }

            Assert.AreEqual(false, propeller.Advance(1000, out step));
        }
Пример #3
0
        public void PropellerAdvanceEmpty2Test()
        {
            var propeller = new Propeller <int>(1000, 3, 1);

            propeller.Push(1);

            int step;

            propeller.Advance(1000, out step);
            propeller.Advance(1000, out step);
            propeller.Advance(1000, out step);
            Assert.AreEqual(false, propeller.Advance(1000, out step));
        }
Пример #4
0
        public void PropellerAdvanceInsufficienTest()
        {
            var propeller = new Propeller <int>(1000, 3, 1);

            propeller.Push(1);

            int step;


            Assert.AreEqual(false, propeller.Advance(999, out step));
        }
Пример #5
0
        public void PropellerAdvanceSeek1Test()
        {
            var propeller = new Propeller <int>(100, 3, 1);

            propeller.Push(1);
            propeller.Push(2);

            int step;

            Assert.AreEqual(true, propeller.Advance(1, out step));
            Assert.AreEqual(0, step);

            Assert.AreEqual(true, propeller.Advance(1, out step));
            Assert.AreEqual(0, step);

            Assert.AreEqual(true, propeller.Advance(1, out step));
            Assert.AreEqual(1, step);


            Assert.AreEqual(true, propeller.Advance(300, out step));
            Assert.AreEqual(0, step);

            Assert.AreEqual(true, propeller.Advance(1, out step));
            Assert.AreEqual(0, step);

            Assert.AreEqual(true, propeller.Advance(1, out step));
            Assert.AreEqual(2, step);
        }
Пример #6
0
        public void PropellerChase()
        {
            var propeller = new Propeller <string>(1, 3, 3);

            propeller.Push("command");
            propeller.Push("command");
            propeller.Push("command");
            propeller.Push("command");

            string step;

            Assert.AreEqual(true, propeller.Advance(0, out step));
            Assert.AreEqual(true, propeller.Advance(0, out step));
            Assert.AreEqual(true, propeller.Advance(0, out step));

            Assert.AreEqual(true, propeller.Advance(0, out step));
            Assert.AreEqual(true, propeller.Advance(0, out step));
            Assert.AreEqual(true, propeller.Advance(0, out step));

            Assert.AreEqual(true, propeller.Advance(0, out step));
            Assert.AreEqual(true, propeller.Advance(0, out step));
            Assert.AreEqual(true, propeller.Advance(0, out step));

            Assert.AreEqual(false, propeller.Advance(0, out step));
            Assert.AreEqual(false, propeller.Advance(0, out step));
            Assert.AreEqual(false, propeller.Advance(0, out step));
        }