Exemplo n.º 1
0
        public void test_palindrome()
        {
            const char nullValue = ' ';
            var        table     = StatefulTableXMLParser.LoadFromFile <string, char>("../../../../../test/xml/palindrome_tm.xml", nullValue,
                                                                                      new StringStateSerializer(), new CharSymbolSerializer());

            var tape = new Tape <char>(new CharSymbolSerializer(), nullValue);

            tape.FillFromString("|0|1|2|1|0|");
            var machine = new TuringMachine <string, char>(table, tape);

            machine.Run();
            Assert.Equal(string.Empty, machine.Tape.ToPlainString().Trim());
        }
Exemplo n.º 2
0
        public void test_string_length_2()
        {
            const char nullValue = ' ';
            var        table     = StatefulTableXMLParser.LoadFromFile <string, char>("../../../../../test/xml/string_length_tm.xml", nullValue,
                                                                                      new StringStateSerializer(), new CharSymbolSerializer());

            var tape = new Tape <char>(new CharSymbolSerializer(), nullValue);

            tape.FillFromString("|a|b|a|a|b|b|a|b|a|b|b|");
            var machine = new TuringMachine <string, char>(table, tape);

            machine.Run();
            Assert.Equal("11", machine.Tape.ToPlainString().Trim());
        }
Exemplo n.º 3
0
        public void test_add_one_from_string_2()
        {
            const char nullValue = ' ';
            var        table     = StatefulTableXMLParser.LoadFromString <string, char>(ADD_ONE_TM, nullValue,
                                                                                        new StringStateSerializer(), new CharSymbolSerializer());

            var tape = new Tape <char>(new CharSymbolSerializer(), nullValue);

            tape.FillFromString("|4|5|9|");
            var machine = new TuringMachine <string, char>(table, tape);

            machine.Run();
            Assert.Equal("460", machine.Tape.ToPlainString().Trim());
        }