Esempio n. 1
0
 public override void addToModel()
 {
     base.addToModel();
     FalseNode.addToModel();
     BackfalseNode.addToModel();
     //MiddleNode.addToModel();
     //Controller.Model.Lines.Add(FalseConnector.Connector);
 }
Esempio n. 2
0
        public void Should_evaluate_false_for_false()
        {
            var inputNode = new FalseNode();
            var evaluator = new BooleanEvaluator();
            var result    = evaluator.Eval(inputNode);

            result.ShouldBeOfType <FalseNode>();
        }
 internal override void Walk(NodeWalker walker, int depth, bool wrap)
 {
     walker("(", TestValue ? TrueValue : FalseValue, depth);
     Condition.Walk(walker, depth + 1, false);
     walker(" ? ");
     TrueNode.Walk(walker, depth + 1, false);
     walker(" : ");
     FalseNode.Walk(walker, depth + 1, false);
     walker(")");
 }
Esempio n. 4
0
 public IAIAction GetAction()
 {
     if (Condition.Resolve())
     {
         return(TrueNode.GetAction());
     }
     else
     {
         return(FalseNode.GetAction());
     }
 }
        public void ShouldSerialiseFalseCorrectly()
        {
            // arrange
            var node = new FalseNode();
            var doc  = new XmlDocument();

            var snf = new StalkNodeFactory(this.phabExternalMock.Object);

            // act
            var result = snf.ToXml(doc, node);

            // assert
            Assert.AreEqual("<false />", result.OuterXml);
        }
        public override dynamic Execute(ScriptContext context)
        {
            dynamic c = Condition.Execute(context);
            dynamic r;

            if (c)
            {
                r = TrueNode.Execute(context);
            }
            else
            {
                r = FalseNode.Execute(context);
            }
            return(r);
        }
        public override ScriptVariableType Process(ScriptParser parser, int level)
        {
            base.Process(parser, level);

            ScriptVariableType retType1, retType2;

            Condition = TypeCastExecutionNode.ImplicitCast(parser, level + 1, ScriptVariableType.Bool, Condition);

            retType1 = TrueNode.Process(parser, level + 1);
            retType2 = FalseNode.Process(parser, level + 1);

            if (retType1 != retType2)
            {
                parser.Errors.Add(new ErrorInfo(ErrorLevel.Error, ErrorCode.TrueAndFalseNodesMustBeOfSameValueInTernaryOperation, this, retType1, retType2));
            }

            return(retType1);
        }
Esempio n. 8
0
        public Node SimpleLiteral()
        {
            switch (CurrentToken)
            {
            case TokenCategory.INT_LITERAL:
                var intLiteral = new IntLiteralNode()
                {
                    AnchorToken = Expect(TokenCategory.INT_LITERAL)
                };
                return(intLiteral);


            case TokenCategory.STR_LITERAL:
                var str_literal = Expect(TokenCategory.STR_LITERAL);
                var strLiteral  = new StrLiteralNode()
                {
                };
                strLiteral.AnchorToken = str_literal;
                return(strLiteral);

            case TokenCategory.TRUE:
                var trueLiteral = new TrueNode()
                {
                    AnchorToken = Expect(TokenCategory.TRUE)
                };
                return(trueLiteral);

            case TokenCategory.FALSE:
                var falseLiteral = new FalseNode()
                {
                    AnchorToken = Expect(TokenCategory.FALSE)
                };
                return(falseLiteral);

            default:
                throw new SyntaxError(firstOfDeclaration,
                                      tokenStream.Current);
            }
        }
Esempio n. 9
0
 public void Visit(FalseNode node)
 {
 }
Esempio n. 10
0
        public IStalkNode NewFromXmlFragment(XmlElement fragment)
        {
            IStalkNode node;

            switch (fragment.Name)
            {
            case "and":
            case "or":
            case "x-of":
                node = this.NewMultiChildNode(fragment);
                break;

            case "xor":
                node = this.NewDoubleChildNode(fragment);
                break;

            case "not":
            case "external":
            case "expiry":
                node = this.NewSingleChildNode(fragment);
                break;

            case "user":
            case "page":
            case "summary":
            case "flag":
            case "usergroup":
            case "incategory":
            case "log":
            case "additionaldata":
            case "targetuser":
            case "actinguser":
                node = this.NewLeafNode(fragment);
                break;

            case "infixnumeric":
                node = this.NewInfixNumeric(fragment);
                break;

            case "true":
                node = new TrueNode();
                break;

            case "false":
                node = new FalseNode();
                break;


            default:
                throw new XmlException("Unknown element " + fragment.Name);
            }

            var fragmentAttribute = fragment.Attributes["comment"];

            if (fragmentAttribute != null)
            {
                node.Comment = fragmentAttribute.Value;
            }

            return(node);
        }
Esempio n. 11
0
 public void SetUnit(IUnit unit)
 {
     Unit = unit;
     TrueNode.SetUnit(unit);
     FalseNode.SetUnit(unit);
 }