Exemple #1
0
        public void TestMethod1()
        {
            State q0 = new State("q0");
            State q1 = new State("q1");
            State q2 = new State("q2");

            q0.AddLink(new Link() { symbol = "0", newState = q0 });
            q0.AddLink(new Link() { symbol = "1", newState = q0 });
            q0.AddLink(new Link() { symbol = "0", newState = q1 });
            q1.AddLink(new Link() { symbol = "0", newState = q2 });

            List<State> endStates = new List<State>() { q2 };

            List<State> listStates = new List<State>() { q0, q1, q2 };
            string str = "100100";

            Automation a = new Automation(q0, endStates, listStates);
            bool results = Automation.Check(str, a);

            Assert.AreEqual(true, results);
        }
Exemple #2
0
        public void TestMethod3()
        {
            State q0 = new State("q0");
            State q1 = new State("q1");
            State q2 = new State("q2");
            State q3 = new State("q3");
            State q4 = new State("q4");
            State q5 = new State("q5");
            State q6 = new State("q6");
            State q7 = new State("q7");
            State q8 = new State("q8");

            q0.AddLink(new Link() { symbol = "0", newState = q1 });
            q0.AddLink(new Link() { symbol = "1", newState = q2 });
            q1.AddLink(new Link() { symbol = "0", newState = q2 });
            q1.AddLink(new Link() { symbol = "1", newState = q2 });
            q1.AddLink(new Link() { symbol = "0", newState = q4 });
            q2.AddLink(new Link() { symbol = "0", newState = q2 });
            q2.AddLink(new Link() { symbol = "1", newState = q8 });
            q3.AddLink(new Link() { symbol = "0", newState = q5 });
            q4.AddLink(new Link() { symbol = "0", newState = q6 });
            q4.AddLink(new Link() { symbol = "1", newState = q3 });
            q5.AddLink(new Link() { symbol = "0", newState = q2 });
            q5.AddLink(new Link() { symbol = "1", newState = q7 });
            q6.AddLink(new Link() { symbol = "0", newState = q6 });
            q6.AddLink(new Link() { symbol = "1", newState = q4 });
            q7.AddLink(new Link() { symbol = "0", newState = q8 });

            List<State> endStates = new List<State>() { q2, q6, q8 };
            List<State> listStates = new List<State>() { q0, q1, q2, q3, q4, q5, q6, q7, q8 };

            Automation a = new Automation(q0, endStates, listStates);

            string str = "1100010100011";

            bool results = Automation.Check(str, a);

            Assert.AreEqual(false, results);
        }