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 void ShouldCreateFalseNode()
        {
            // arrange
            var snf = new StalkNodeFactory(this.phabExternalMock.Object);
            var doc = new XmlDocument();

            doc.LoadXml("<false />");

            // act
            var result = snf.NewFromXmlFragment(doc.DocumentElement);

            // assert
            Assert.IsInstanceOf <FalseNode>(result);
        }
        public void ShouldCreateSummaryNode()
        {
            // arrange
            var snf = new StalkNodeFactory(this.phabExternalMock.Object);
            var doc = new XmlDocument();

            doc.LoadXml("<summary value=\"abc\" />");

            // act
            var result = snf.NewFromXmlFragment(doc.DocumentElement);

            // assert
            Assert.IsInstanceOf <SummaryStalkNode>(result);
            Assert.AreEqual("abc", ((SummaryStalkNode)result).GetMatchExpression());
        }
        public void ShouldSerialiseUserGroupCorrectly()
        {
            // arrange
            var node = new UserGroupStalkNode();

            node.SetMatchExpression("abc");

            var doc = new XmlDocument();

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

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

            // assert
            Assert.AreEqual("<usergroup value=\"abc\" />", result.OuterXml);
        }
        public void ShouldSerialiseNotCorrectly()
        {
            // arrange
            var node = new NotNode
            {
                ChildNode = new TrueNode()
            };

            var doc = new XmlDocument();

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

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

            // assert
            Assert.AreEqual("<not><true /></not>", result.OuterXml);
        }
        public void ShouldSerialiseInsensitivePageCorrectly()
        {
            // arrange
            var node = new PageStalkNode();

            node.SetMatchExpression("abc");
            node.CaseInsensitive = true;

            var doc = new XmlDocument();

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

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

            // assert
            Assert.AreEqual("<page value=\"abc\" caseinsensitive=\"true\" />", result.OuterXml);
        }
        public void ShouldCreateNotNode()
        {
            // arrange
            var snf = new StalkNodeFactory(this.phabExternalMock.Object);
            var doc = new XmlDocument();

            doc.LoadXml("<not><true /></not>");

            // act
            var result = snf.NewFromXmlFragment(doc.DocumentElement);

            // assert
            Assert.IsInstanceOf <NotNode>(result);

            var scln = (SingleChildLogicalNode)result;

            Assert.IsInstanceOf <TrueNode>(scln.ChildNode);
        }
        public void ShouldSerialiseXorCorrectly()
        {
            // arrange
            var node = new XorNode
            {
                LeftChildNode  = new TrueNode(),
                RightChildNode = new FalseNode()
            };

            var doc = new XmlDocument();

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

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

            // assert
            Assert.AreEqual("<xor><true /><false /></xor>", result.OuterXml);
        }
        public void ShouldCreateXorNode()
        {
            // arrange
            var snf = new StalkNodeFactory(this.phabExternalMock.Object);
            var doc = new XmlDocument();

            doc.LoadXml("<xor><true /><false /></xor>");

            // act
            var result = snf.NewFromXmlFragment(doc.DocumentElement);

            // assert
            Assert.IsInstanceOf <XorNode>(result);

            var scln = (DoubleChildLogicalNode)result;

            Assert.IsInstanceOf <TrueNode>(scln.LeftChildNode);
            Assert.IsInstanceOf <FalseNode>(scln.RightChildNode);
        }
        public void ShouldCreateOrNode()
        {
            // arrange
            var snf = new StalkNodeFactory(this.phabExternalMock.Object);
            var doc = new XmlDocument();

            doc.LoadXml("<or><true /><false /></or>");

            // act
            var result = snf.NewFromXmlFragment(doc.DocumentElement);

            // assert
            Assert.IsInstanceOf <OrNode>(result);

            var mcln = (MultiChildLogicalNode)result;

            Assert.AreEqual(2, mcln.ChildNodes.Count);
            Assert.IsInstanceOf <TrueNode>(mcln.ChildNodes[0]);
            Assert.IsInstanceOf <FalseNode>(mcln.ChildNodes[1]);
        }
        public void ShouldSerialiseInfixCorrectly2()
        {
            // arrange
            var node = new InfixNumericLogicalNode
            {
                Operator      = "==",
                LeftChildNode = new StaticNumberNode {
                    Value = 4
                },
                RightChildNode = new PageSizeNumberNode()
            };

            var doc = new XmlDocument();

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

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

            // assert
            Assert.AreEqual("<infixnumeric operator=\"==\"><number value=\"4\" /><pagesize /></infixnumeric>", result.OuterXml);
        }
        public void ShouldSerialiseBasicXOfCorrectly()
        {
            // arrange
            var node = new XOfStalkNode
            {
                ChildNodes = new List <IStalkNode>
                {
                    new TrueNode(),
                    new FalseNode()
                }
            };

            var doc = new XmlDocument();

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

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

            // assert
            Assert.AreEqual("<x-of><true /><false /></x-of>", result.OuterXml);
        }
        public void ShouldCreateBasicXOfNode()
        {
            // arrange
            var snf = new StalkNodeFactory(this.phabExternalMock.Object);
            var doc = new XmlDocument();

            doc.LoadXml("<x-of><true /><false /></x-of>");

            // act
            var result = snf.NewFromXmlFragment(doc.DocumentElement);

            // assert
            Assert.IsInstanceOf <XOfStalkNode>(result);

            var mcln = (XOfStalkNode)result;

            Assert.IsNull(mcln.Minimum);
            Assert.IsNull(mcln.Maximum);
            Assert.AreEqual(2, mcln.ChildNodes.Count);
            Assert.IsInstanceOf <TrueNode>(mcln.ChildNodes[0]);
            Assert.IsInstanceOf <FalseNode>(mcln.ChildNodes[1]);
        }
        public void ShouldCreateInfixNumericNode2()
        {
            // arrange
            var snf = new StalkNodeFactory(this.phabExternalMock.Object);
            var doc = new XmlDocument();

            doc.LoadXml("<infixnumeric operator=\">=\"><number value=\"4\" /><pagesize /></infixnumeric>");

            // act
            var result = snf.NewFromXmlFragment(doc.DocumentElement);

            // assert
            Assert.IsInstanceOf <InfixNumericLogicalNode>(result);

            var inln = (InfixNumericLogicalNode)result;

            Assert.IsInstanceOf <StaticNumberNode>(inln.LeftChildNode);
            Assert.IsInstanceOf <PageSizeNumberNode>(inln.RightChildNode);

            var snn = (StaticNumberNode)inln.LeftChildNode;

            Assert.AreEqual(4, snn.Value);
        }