示例#1
0
        public void IronDogWalker()
        {
            StringDiffMarkup metric  = new StringDiffMarkup();
            string           output3 = metric.GetColorCodedCorrectionLine("iron dog walker", "iron dagger watch");

            CorrectionSegment[] csArry = metric.GetRightWrongParts("iron dog walker", "iron dagger watch");
            Assert.IsTrue(csArry[0].correct);
            Assert.AreEqual("iron d", csArry[0].actualText);

            Assert.IsFalse(csArry[1].correct);
            Assert.AreEqual("a", csArry[1].actualText);
            Assert.AreEqual("o", csArry[1].expectedText);


            Assert.IsTrue(csArry[2].correct);
            Assert.AreEqual("g", csArry[2].actualText);

            Assert.IsFalse(csArry[3].correct);
            Assert.AreEqual("ger", csArry[3].actualText);
            Assert.AreEqual("", csArry[3].expectedText);

            Assert.IsTrue(csArry[4].correct);
            Assert.AreEqual(" wa", csArry[4].actualText);

            Assert.IsFalse(csArry[5].correct);
            Assert.AreEqual("tch", csArry[5].actualText);
            Assert.AreEqual("lker", csArry[5].expectedText);
        }
示例#2
0
        public void RunningVsRnnuning()
        {
            StringDiffMarkup metric = new StringDiffMarkup();

            CorrectionSegment[] parts = metric.GetRightWrongParts("running", "rnnuning");
            string s = metric.GetComparativeLines("running", "rnuning");

            Assert.AreEqual(5, parts.Length);
            Assert.IsTrue(parts[0].correct);
            Assert.AreEqual(parts[0].actualText, "r");

            Assert.IsFalse(parts[1].correct);
            Assert.AreEqual(parts[1].actualText, "nn");
            Assert.AreEqual(parts[1].expectedText, "");

            Assert.IsTrue(parts[2].correct);
            Assert.AreEqual(parts[2].actualText, "un");

            Assert.IsFalse(parts[3].correct);
            Assert.AreEqual(parts[3].actualText, "");
            Assert.AreEqual(parts[3].expectedText, "n");

            Assert.IsTrue(parts[4].correct);
            Assert.AreEqual(parts[4].actualText, "ing");
        }
示例#3
0
 public void TestMethod3()
 {
     StringDiffMarkup metric = new StringDiffMarkup();
     //string output = metric.GetColorCodedCorrectionLine("talk show host", "car show");
     //output += "<br />car show";
     //string output2 = metric.GetColorCodedCorrectionLine("talk show host", "talking snake");
     //output2 += "<br />talking snake";
     string output3 = metric.GetColorCodedCorrectionLine("iron dog walker", "iron dagger watch");
     //CorrectionSegment[] parts = metric.GetRightWrongParts("talk show host", "car show");
 }
示例#4
0
        public void IronDogWalker2()
        {
            string           expected = "We can write up a script to test this feature. . .but for now, here's some text";
            string           actual   = "I'll try typing some stuff here";//"We can't do anything about it.";
            StringDiffMarkup metric   = new StringDiffMarkup();
            string           output3  = metric.GetColorCodedCorrectionLine(expected, actual);
            string           output4  = metric.GetComparativeLines(expected, actual);

            CorrectionSegment[] csArry = metric.GetRightWrongParts(expected, actual);
            //return;
        }
示例#5
0
        public void RunVsRunu()
        {
            StringDiffMarkup metric = new StringDiffMarkup();

            CorrectionSegment[] parts = metric.GetRightWrongParts("run", "runu");
            Assert.AreEqual(2, parts.Length);
            Assert.IsTrue(parts[0].correct);
            Assert.AreEqual(parts[0].actualText, "run");

            Assert.IsFalse(parts[1].correct);
            Assert.AreEqual(parts[1].actualText, "u");
            Assert.AreEqual(parts[1].expectedText, "");
        }
示例#6
0
        public void ExtraStartExpected_SandVsAnd()
        {
            StringDiffMarkup metric = new StringDiffMarkup();

            CorrectionSegment[] parts = metric.GetRightWrongParts("sand", "and");
            Assert.AreEqual(2, parts.Length);

            Assert.IsFalse(parts[0].correct);
            Assert.AreEqual(parts[0].actualText, "");
            Assert.AreEqual(parts[0].expectedText, "s");

            Assert.IsTrue(parts[1].correct);
            Assert.AreEqual(parts[1].actualText, "and");
        }
示例#7
0
        public void ExtraEndExpected_RunningsVsRunning()
        {
            StringDiffMarkup metric = new StringDiffMarkup();

            CorrectionSegment[] parts = metric.GetRightWrongParts("runnings", "running");
            Assert.AreEqual(2, parts.Length);

            Assert.IsTrue(parts[0].correct);
            Assert.AreEqual("running", parts[0].actualText);

            Assert.IsFalse(parts[1].correct);
            Assert.AreEqual("", parts[1].actualText);
            Assert.AreEqual("s", parts[1].expectedText);
        }
示例#8
0
        public void LetterFlip()
        {
            StringDiffMarkup metric = new StringDiffMarkup();

            int[,] table;
            StringDiffMarkup.GetLCSInternal("iron dog", "iron odg", out table);
            string word = "i,r,o,n, ,o,d,g";

            int[] last = new int["iron dog".Length + 1];
            for (int i = 0; i <= "iron dog".Length; i++)
            {
                last[i] = table[table.GetLength(0) - 1, i];
            }
            string numbers = string.Join(" ", last);
        }
示例#9
0
        public void ExtraStartActual_RanVsSrand()
        {
            StringDiffMarkup metric = new StringDiffMarkup();

            CorrectionSegment[] parts = metric.GetRightWrongParts("ran", "srand");
            Assert.AreEqual(3, parts.Length);

            Assert.IsFalse(parts[0].correct);
            Assert.AreEqual(parts[0].actualText, "s");
            Assert.AreEqual(parts[0].expectedText, "");

            Assert.IsTrue(parts[1].correct);
            Assert.AreEqual(parts[1].actualText, "ran");

            Assert.IsFalse(parts[2].correct);
            Assert.AreEqual(parts[2].actualText, "d");
            Assert.AreEqual(parts[2].expectedText, "");
        }
示例#10
0
        public void LetterFlip2_DistanceMethod()
        {
            StringDiffMarkup metric = new StringDiffMarkup();

            int[,] table =
                StringDiffMarkup.getEditDistMD("iron dog", "iron odg");
            string word = "i,r,o,n, ,o,d,g";

            int[] last = new int["iron dog".Length + 1];
            for (int i = 0; i <= "iron dog".Length; i++)
            {
                last[i] = table[table.GetLength(0) - 1, i];
            }
            List <int> lastList = new List <int>(last);

            lastList.Reverse();
            string numbers = string.Join(" ", lastList);
        }
示例#11
0
        public void TalkShowHostVsTalkingSnakeHost()
        {
            StringDiffMarkup metric = new StringDiffMarkup();

            CorrectionSegment[] parts = metric.GetRightWrongParts("talk show host", "talking snake host");
            Assert.AreEqual(5, parts.Length);
            Assert.IsTrue(parts[0].correct);
            Assert.AreEqual(parts[0].actualText, "talk");

            Assert.IsFalse(parts[1].correct);
            Assert.AreEqual(parts[1].actualText, "ing");
            Assert.AreEqual(parts[1].expectedText, "");

            Assert.IsTrue(parts[2].correct);
            Assert.AreEqual(parts[2].actualText, " s");

            Assert.IsFalse(parts[3].correct);
            Assert.AreEqual(parts[3].actualText, "nake");
            Assert.AreEqual(parts[3].expectedText, "how");

            Assert.IsTrue(parts[4].correct);
            Assert.AreEqual(parts[4].actualText, " host");
        }