예제 #1
0
        public void Test()
        {
            Boolean t = true;
            Boolean f = false;

            Assert.AreEqual(t, and.Execute(t, t));
            Assert.AreEqual(f, and.Execute(t, f));
            Assert.AreEqual(f, and.Execute(f, t));
            Assert.AreEqual(f, and.Execute(f, f));
        }
        public void AndShouldReturnFalseIfOneArgumentIs0()
        {
            var func   = new And();
            var args   = FunctionsHelper.CreateArgs(true, 0, true);
            var result = func.Execute(args, _parsingContext);

            Assert.IsFalse((bool)result.Result);
        }
        public void AndShouldReturnTrueIfAllArgumentsAreTrueOr1()
        {
            var func   = new And();
            var args   = FunctionsHelper.CreateArgs(true, true, 1, true, 1);
            var result = func.Execute(args, _parsingContext);

            Assert.IsTrue((bool)result.Result);
        }
예제 #4
0
        public void AndWithInvalidArgumentReturnsPoundValue()
        {
            var func           = new And();
            var parsingContext = ParsingContext.Create();
            var args           = FunctionsHelper.CreateArgs();
            var result         = func.Execute(args, parsingContext);

            Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result.Result).Type);
        }
예제 #5
0
        public void CalculateAndFalseTest()
        {
            var parameters = new ParameterCollection()
            {
                new Parameter("x", 0)
            };
            var lessThen    = new LessThan(new Variable("x"), new Number(10));
            var greaterThen = new GreaterThan(new Variable("x"), new Number(10));
            var and         = new And(lessThen, greaterThen);

            Assert.Equal(false, and.Execute(parameters));
        }
예제 #6
0
        public void CalculateAndTrueTest()
        {
            var parameters = new ParameterCollection()
            {
                new Parameter("x", 0)
            };
            var lessThen    = new LessThan(Variable.X, new Number(10));
            var greaterThen = new GreaterThan(Variable.X, new Number(-10));
            var and         = new And(lessThen, greaterThen);

            Assert.True((bool)and.Execute(parameters));
        }
예제 #7
0
        public void ExecuteTest4()
        {
            var exp = new And(new Bool(true), new Bool(true));

            Assert.Equal(true, exp.Execute());
        }
예제 #8
0
        public void ExecuteTest2()
        {
            var exp = new And(new Number(1.5), new Number(2.5));

            Assert.Equal(2.0, exp.Execute());
        }
예제 #9
0
        public void ExecuteTest1()
        {
            var exp = new And(new Number(1), new Number(3));

            Assert.Equal(1.0, exp.Execute());
        }
예제 #10
0
파일: AndTest.cs 프로젝트: suigin500/xFunc
        public void ExecuteTest4()
        {
            var exp = new And(new Bool(true), new Bool(true));

            Assert.True((bool)exp.Execute());
        }
예제 #11
0
파일: AndTest.cs 프로젝트: suigin500/xFunc
        public void ExecuteTest3()
        {
            var exp = new And(new Bool(true), new Bool(false));

            Assert.False((bool)exp.Execute());
        }
예제 #12
0
        public void CalculateInvalidParametersTest()
        {
            var and = new And(new Number(1), new Number(2));

            Assert.Throws <ResultIsNotSupportedException>(() => and.Execute());
        }
예제 #13
0
        public void ExecuteResultIsNotSupported()
        {
            var exp = new And(new ComplexNumber(1), new ComplexNumber(2));

            Assert.Throws <ResultIsNotSupportedException>(() => exp.Execute());
        }