コード例 #1
0
        public void ToStringTest()
        {
            MetaTransition metaTransition =
                new MetaTransition(
                    EnumerateHelper.Sequence(
                        new Label(new SingleLabel('e')),
                        new Label(new SingleLabel('r'))
                        ),
                    EnumerateHelper.Sequence(
                        new Label(new SingleLabel('e')),
                        new Label(new SingleLabel('r'))
                        ),
                    'a',
                    EnumerateHelper.Sequence(
                        new Label(new SingleLabel('e')),
                        new Label(new SingleLabel('r'))
                        )
                    );

            Assert.AreEqual("δ([{e_null} {r_null} q_1 ... q_2], a) -> [ {e_null} {r_null}], q_1 ... q_2 : {e_null} {r_null}", metaTransition.ToString());
        }
コード例 #2
0
        public void CctorTest_Ok()
        {
            IEnumerable <Label> expectedMetaCurrentRequiredStates =
                EnumerateHelper.Sequence(
                    new Label(new SingleLabel('a')),
                    new Label(new SingleLabel('b')),
                    new Label(new SingleLabel('c'))
                    );


            IEnumerable <Label> expectedMetaCurrentOptionalStates =
                EnumerateHelper.Sequence(
                    new Label(new SingleLabel('d')),
                    new Label(new SingleLabel('e')),
                    new Label(new SingleLabel('f')),
                    new Label(new SingleLabel('j'))
                    );

            IEnumerable <Label> expectedMetaNextStates =
                EnumerateHelper.Sequence(
                    new Label(new SingleLabel('f')),
                    new Label(new SingleLabel('j'))
                    );

            char expectedSymbol = 's';

            MetaTransition metaTransition = new MetaTransition(
                expectedMetaCurrentRequiredStates,
                expectedMetaCurrentOptionalStates,
                expectedSymbol,
                expectedMetaNextStates);

            Assert.AreEqual(expectedSymbol, metaTransition.Symbol);
            CollectionAssert.AreEquivalent(expectedMetaCurrentRequiredStates, metaTransition.CurrentRequiredStates);
            CollectionAssert.AreEquivalent(expectedMetaCurrentOptionalStates, metaTransition.CurrentOptionalStates);
            CollectionAssert.AreEquivalent(expectedMetaNextStates, metaTransition.NextStates);
        }