예제 #1
0
        public void RuleParser_ParseSourceModule_UniqueIDTest(string representation1, string representation2)
        {
            var expressionParserFactory = new IntExpressionParserFactory();
            var parser = new RuleParser <int>(new ModuleParser <int>(expressionParserFactory), expressionParserFactory);

            parser.ParseSourceModule(representation1, out int id1, out var param1);
            parser.ParseSourceModule(representation2, out int id2, out var param2);

            Assert.That(id1, Is.Not.EqualTo(id2));
        }
예제 #2
0
        public void RuleParser_ParseSourceModule_ExceptionTest(string representation)
        {
            var expressionParserFactory = new IntExpressionParserFactory();
            var parser = new RuleParser <int>(new ModuleParser <int>(expressionParserFactory), expressionParserFactory);

            Assert.Throws <ParserException>(
                () => parser.ParseSourceModule(representation, out var tmp1, out var tmp2));
        }
예제 #3
0
        public void RuleParser_ParseSourceModule_ValidInputTest(string representation, string[] expectedParamNames)
        {
            var expressionParserFactory = new IntExpressionParserFactory();
            var parser = new RuleParser <int>(new ModuleParser <int>(expressionParserFactory), expressionParserFactory);

            parser.ParseSourceModule(representation, out int id, out var paramNames);

            Assert.That(paramNames, Is.EqualTo(expectedParamNames));
        }