Exemple #1
0
        public void ForLoop_WithNullStep_ThrowsArguementNullException()
        {
            var        i        = new WriteableExpressionVariable(0);
            Expression variable = i.expression;
            Expression from     = Expression.Constant(0);
            Expression to       = Expression.Constant(2);
            Expression step     = null;

            var forLoop = new ForLoop(variable, from, to, step);
        }
Exemple #2
0
        public void IsOver_AtStart_IsFalse()
        {
            var        i        = new WriteableExpressionVariable(0);
            Expression variable = i.expression;
            Expression from     = Expression.Constant(0);
            Expression to       = Expression.Constant(2);

            var forLoop = new ForLoop(variable, from, to);

            Assert.IsFalse(forLoop.IsOver);
        }
Exemple #3
0
        public void ForLoop_WithoutStep_SetsStepTo1()
        {
            var        i        = new WriteableExpressionVariable(0);
            Expression variable = i.expression;
            Expression from     = Expression.Constant(0);
            Expression to       = Expression.Constant(2);

            var forLoop = new ForLoop(variable, from, to);
            var actual  = (forLoop.Step as ConstantExpression).Value;

            Assert.AreEqual(1, actual);
        }
Exemple #4
0
        public void TakeStep_WhenCalled_ChangesVariableValue()
        {
            var        i        = new WriteableExpressionVariable(0);
            Expression variable = i.expression;
            Expression from     = Expression.Constant(0);
            Expression to       = Expression.Constant(2);

            var forLoop     = new ForLoop(variable, from, to);
            var notExpected = i.value;

            forLoop.TakeStep();
            var actual = i.value;

            Assert.AreNotEqual(notExpected, actual);
        }
Exemple #5
0
        public void IsOver_AtEnd_IsTrue()
        {
            var        i        = new WriteableExpressionVariable(0);
            Expression variable = i.expression;
            Expression from     = Expression.Constant(0);
            Expression to       = Expression.Constant(2);

            var forLoop = new ForLoop(variable, from, to);

            forLoop.TakeStep();
            forLoop.TakeStep();
            forLoop.TakeStep();

            Assert.IsTrue(forLoop.IsOver);
        }