示例#1
0
        public void NextHasTwoVariantsAndAreDeterminate()
        {
            var R1 = new List <string> {
                "<R2>", "<A>"
            };
            var R21 = new List <string> {
                "nu"
            };
            var R22 = new List <string> {
                "ny"
            };

            var list = new List <Sentence>
            {
                new Sentence("<R1>", R1),
                new Sentence("<R2>", R21),
                new Sentence("<R2>", R22)
            };

            GuideSetCreator creator = new GuideSetCreator(list);

            Assert.AreEqual(creator.Sentences[2].ForwardSet.Count, 1);
            Assert.AreEqual(creator.Sentences[1].ForwardSet.Count, 1);
            Assert.AreEqual(creator.Sentences[0].ForwardSet.Count, 2);
            Assert.AreEqual(creator.Sentences[1].ForwardSet[0], R21[0]);
            Assert.AreEqual(creator.Sentences[2].ForwardSet[0], R22[0]);
            Assert.AreEqual(creator.Sentences[0].ForwardSet[0], R21[0]);
            Assert.AreEqual(creator.Sentences[0].ForwardSet[1], R22[0]);
        }
示例#2
0
        public void NextIsEmptyAndNextNextNextNextIsDeterminate()
        {
            var R1 = new List <string> {
                "e"
            };
            var R2 = new List <string> {
                "ха", "<R1>", "<R3>"
            };
            var R3 = new List <string> {
                "<R4>"
            };
            var R4 = new List <string> {
                "nu"
            };

            var list = new List <Sentence>
            {
                new Sentence("<R1>", R1),
                new Sentence("<R2>", R2),
                new Sentence("<R3>", R3),
                new Sentence("<R4>", R4)
            };

            GuideSetCreator creator = new GuideSetCreator(list);

            Assert.AreEqual(creator.Sentences[0].ForwardSet.Count, 1);
            Assert.AreEqual(creator.Sentences[0].ForwardSet[0], R4[0]);
        }
示例#3
0
        public void FinalTest2()
        {
            var R1 = new List <string> {
                "e"
            };
            var R2 = new List <string> {
                "<R4>", "<R1>", "<R3>"
            };
            var R3 = new List <string> {
                "e"
            };
            var R4 = new List <string> {
                "<R3>", "ne"
            };

            var list = new List <Sentence>
            {
                new Sentence("<R1>", R1),
                new Sentence("<R2>", R2),
                new Sentence("<R3>", R3),
                new Sentence("<R4>", R4)
            };

            GuideSetCreator creator = new GuideSetCreator(list);

            Assert.AreEqual(creator.Sentences[0].ForwardSet.Count, 1);
            Assert.AreEqual(creator.Sentences[0].ForwardSet[0], R4[1]);
        }
示例#4
0
 static void Main(string[] args)
 {
     using (StreamReader streamReader = new StreamReader(args[0], Encoding.Default))
     {
         var             reader  = new SentencesReader(streamReader);
         GuideSetCreator creator = new GuideSetCreator(reader.Sentences);
         creator.WriteResultToStream(Console.Out);
     }
 }
示例#5
0
        public void CurrentIsDeterminate()
        {
            var R1 = new List <string> {
                "nu", "<R2>"
            };
            var A = new List <string> {
                "e"
            };
            var list = new List <Sentence>
            {
                new Sentence("<R1>", R1),
                new Sentence("<A>", A)
            };

            GuideSetCreator creator = new GuideSetCreator(list);

            Assert.AreEqual(creator.Sentences[0].ForwardSet[0], R1[0]);
        }