コード例 #1
0
        public void MakeInvalid()
        {
            RapidFindReplaceControlViewModel model = new RapidFindReplaceControlViewModel();
            model.FindOptions.UseRegularExpressions = true;
            Query q = new Query(".*[");
            RunQueue rq = new RunQueue(1);
            rq.Enqueue(new System.Windows.Documents.Run("hello this is it"));
            model.ScanQueuedRuns(rq, q, null);
            Assert.IsFalse(q.Valid);
            Assert.AreEqual("Regular expression error, parsing \".*[\" - Unterminated [] set.", q.ReasonInvalid);

        }
コード例 #2
0
ファイル: QueueTests.cs プロジェクト: vearvindkumar/Scrapper
        public void TestScanRunQueue()
        {
            RunQueue rq = new RunQueue(5) ;
            
            FillRunQueue(rq, GetTestRuns());

            RunQueue rq_clone = rq.Clone();
            RapidFindReplaceControlViewModel model = new RapidFindReplaceControlViewModel();
            //easy one
            model.ScanQueuedRuns(rq, new Keyoti.RapidFindReplace.WPF.Query("1111"), 
                delegate(Run run, int index, int length){
                    Assert.AreEqual(rq_clone[0].Run, run);
                    Assert.AreEqual(0, index);
                    Assert.AreEqual(4, length);
                }
            );

            //easy one
            model.ScanQueuedRuns(rq, "4444",
                delegate(Run run, int index, int length)
                {
                    Assert.AreEqual(rq_clone[1].Run, run);
                    Assert.AreEqual(5, index);
                    Assert.AreEqual(4, length);
                }
            );

            //harder one
            int callInc = 0;
            model.ScanQueuedRuns(rq, "44445555",
                delegate(Run run, int index, int length)
                {
                    if (callInc == 0)
                    {
                        Assert.AreEqual(rq_clone[1].Run, run);
                        Assert.AreEqual(5, index);
                        Assert.AreEqual(4, length);
                    }
                    else if (callInc == 1)
                    {
                        Assert.AreEqual(rq_clone[2].Run, run);
                        Assert.AreEqual(0, index);
                        Assert.AreEqual(4, length);
                    }
                    callInc++;
                }
            );

            //harder one
            callInc = 0;
            RunQueue rq2 = new RunQueue(5);
            
            FillRunQueue(rq2, GetTestRuns2());
            RunQueue rq2_clone = rq2.Clone();
            model.ScanQueuedRuns(rq2, "22223",
                delegate(Run run, int index, int length)
                {
                    if (callInc == 0)
                    {
                        Assert.AreEqual(rq2_clone[0].Run, run);
                        Assert.AreEqual(2, index);
                        Assert.AreEqual(4, length);
                    }
                    else if (callInc == 1)
                    {
                        Assert.AreEqual(rq2_clone[1].Run, run);
                        Assert.AreEqual(0, index);
                        Assert.AreEqual(1, length);
                    }

                    Assert.IsTrue(callInc < 2);
                    callInc++;
                }
            );
        
        }
コード例 #3
0
ファイル: QueueTests.cs プロジェクト: vearvindkumar/Scrapper
        public void TestScanRunQueueMultipleTimes3()
        {
            //harder one
            int callInc = 0;
            RunQueue rq2 = new RunQueue(5);
            FillRunQueue(rq2, GetTestRuns2());
            
            rq2.Enqueue(new Run("3 3"));
            rq2.Enqueue(new Run("232"));
            RunQueue rq2_clone = rq2.Clone();
            RapidFindReplaceControlViewModel model = new RapidFindReplaceControlViewModel();
            model.ScanQueuedRuns(rq2, "3",
                delegate(Run run, int index, int length)
                {
                    Assert.IsTrue(callInc< 4);
                    if (callInc == 0)
                    {

                        Assert.AreEqual(rq2_clone[1].Run, run);
                        Assert.AreEqual(0, index);
                        Assert.AreEqual(1, length);
                    }
                    else if (callInc == 1)
                    {

                        Assert.AreEqual(rq2_clone[3].Run, run);
                        Assert.AreEqual(0, index);
                        Assert.AreEqual(1, length);
                    }
                    else if (callInc == 2)
                    {

                        Assert.AreEqual(rq2_clone[3].Run, run);
                        Assert.AreEqual(2, index);
                        Assert.AreEqual(1, length);
                    }
                    else if (callInc == 3)
                    {

                        Assert.AreEqual(rq2_clone[4].Run, run);
                        Assert.AreEqual(1, index);
                        Assert.AreEqual(1, length);
                    }
                    callInc++;

                }
            );
            

        }
コード例 #4
0
ファイル: QueueTests.cs プロジェクト: vearvindkumar/Scrapper
        public void TestCrossRunMatch2()
        {
            RunQueue queue = new RunQueue(2);
            Run r1 = new Run("1234co"), r2 = new Run("co5678");
            int callInc = 0;
            queue.Enqueue(r1);
            queue.Enqueue(r2);
            RapidFindReplaceControlViewModel model = new RapidFindReplaceControlViewModel();
            model.ScanQueuedRuns(queue, "coco",
                delegate(Run run, int index, int length)
                {
                    Assert.IsTrue(callInc < 2);
                    if (callInc == 0)
                    {

                        Assert.AreEqual(r1, run);
                        Assert.AreEqual(4, index);
                        Assert.AreEqual(2, length);
                    }
                    else if (callInc == 1)
                    {
                        Assert.AreEqual(r2, run);
                        Assert.AreEqual(0, index);
                        Assert.AreEqual(2, length);
                    }
                    callInc++;
                }
             );
            Assert.AreEqual(2, callInc);
        }
コード例 #5
0
ファイル: QueueTests.cs プロジェクト: vearvindkumar/Scrapper
        public void TestScanRunQueueMultipleTimes2()
        {
            //harder one
            int callInc = 0;
            RunQueue rq2 = new RunQueue(5);
            FillRunQueue(rq2, GetTestRuns2());
            RunQueue rq2_clone = rq2.Clone();
            RapidFindReplaceControlViewModel model = new RapidFindReplaceControlViewModel();
            model.ScanQueuedRuns(rq2, "3",
                delegate(Run run, int index, int length)
                {
                    Assert.IsTrue(callInc < 1);
                    if (callInc == 0)
                    {
                        Assert.AreEqual(rq2_clone[1].Run, run);
                        Assert.AreEqual(0, index);
                        Assert.AreEqual(1, length);
                    }
                    callInc++;

                }
            );
            //add new item and search again, this time we don't want to hit 3 again
            rq2.Enqueue(new Run("3"));
            model.ScanQueuedRuns(rq2, "3",
                delegate(Run run, int index, int length)
                {

                    Assert.AreEqual("3", run.Text);

                }
            );

        }