Ejemplo n.º 1
0
        public void Add_GivenValidArguments_ExpectsSuccess () {
            //Given
            var linkedList = new linkList ();

            //When & //Then
            Assert.Null (linkedList.Head);

        }
Ejemplo n.º 2
0
 public crawledLinkTargetCollection(crawledPage __rootpage, Int32 __low = 7, Int32 __max = 10, Int32 __iLimit = 7) : base(__rootpage)
 {
     low     = __low;
     max     = __max;
     iLimit  = __iLimit;
     primary = new linkList();
     //pages = new crawledPageCollection(__rootpage);
 }
Ejemplo n.º 3
0
        public void Add_GivenData_ExpectsListWithHeadOnly () {
            //Given
            var expected = new linkList ();
            expected.Head = new Node { Data = 3 };

            var ll = new linkList ();

            //When
            ll.Add (3);

            //Then
            ll.Should ().BeEquivalentTo (expected);
        }
Ejemplo n.º 4
0
        public linkList getResult()
        {
            linkList output = new linkList();


            collectionExtensions.AddMulti(output, primary.take(max));
            Int32 cc = max - output.Count();

            if (output.Count < low + 1)
            {
                collectionExtensions.AddMulti(output, secondary.take(cc));
            }
            return(output);
        }
Ejemplo n.º 5
0
        public void TestName () 
        {
            //Given
            var expected = new linkList();
            expected.Head = new Node{Data = 3};
            expected.Head.Next = new Node{Data = 5};
            expected.Head.Next.Next = new Node{Data = 9};
            expected.Head.Next.Next.Next = new Node{Data = 1};
            expected.Head.Next.Next.Next.Next = new Node{Data = 2};

            var ll = new linkList();
            
            //When
            ll.Add(3);
            ll.Add(5);
            ll.Add(9);
            ll.Add(1);
            ll.Add(2);

            //Then
            ll.Should().BeEquivalentTo(expected);      
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Processes the specified page.
        /// </summary>
        /// <param name="page">The page.</param>
        /// <returns></returns>
        public linkList process(crawledPage page, Boolean isLinkStackEmpty)
        {
            linkList output    = new linkList();
            linkList secOutput = new linkList();

            // pages.Add(page);

            if (page == null)
            {
                isLinkCollectingDone = true;
                return(null); //getResult();
            }

            if (CountToTarget < 1)
            {
                isLinkCollectingDone = true;
                return(null); //getResult();
            }

            if (iLimit < 0)
            {
                isLinkCollectingDone = true;
                return(null); //getResult();
            }

            htmlContentPage hContent = page.tokenizedContent as htmlContentPage;

            if (hContent != null)
            {
                htmlLinkNodeCollection linkNodes = new htmlLinkNodeCollection(hContent.tokens);


                var lnk = linkNodes.getSorted();
                foreach (htmlLinkNode ln in lnk)
                {
                    link crawledLink = null;
                    if (page.links.byUrl.ContainsKey(ln.url))
                    {
                        crawledLink = page.links.byUrl[ln.url];
                    }

                    var cwl = Add(crawledLink);
                    if (cwl != null)
                    {
                        if (ln.isPrimary)
                        {
                            primary.Add(crawledLink);
                            output.Add(cwl);
                        }
                        else
                        {
                            secondary.Add(crawledLink);
                            secOutput.Add(crawledLink);
                        }
                    }
                }
            }
            else
            {
            }

            // Int32 cc = CountToTarget - output.Count();


            if (!output.Any())
            {
                if (isLinkStackEmpty)
                {
                    collectionExtensions.AddMulti(output, secondary);
                }
            }

            iLimit--;

            //if (output.Count() == 0)
            //{
            //    isLinkCollectingDone = true;
            //    return getResult();
            //}

            return(output);
        }