Esempio n. 1
0
        public void ParseTableauInputThrowsOnEmptyUnparsedInput()
        {
            var formulaParser = new Mock <IFormulaFactory>();

            formulaParser.Setup(t => t.Parse(It.IsAny <string>())).Returns(new VariableFormula('m'));

            var conversionService = new ConversionService(formulaParser.Object);

            conversionService.ParseTableauInput(new UnparsedTableauInput());
        }
Esempio n. 2
0
        public void CreatesErrorResponseOnParserException()
        {
            var formulaParser = new Mock <IFormulaFactory>();

            formulaParser.Setup(t => t.Parse(It.IsAny <string>())).Throws(new ParseException("..."));

            var conversionService = new ConversionService(formulaParser.Object);

            var(tableauInput, errorResponse) = conversionService.ParseTableauInput(_inputSingleFormula);

            Assert.IsTrue(errorResponse.HasErrorResponse());
            Assert.IsTrue(errorResponse.FormulaParseRequests.Count == 1);
        }
Esempio n. 3
0
        public void DuplicitRawFormulasAllowed()
        {
            var formulaParser = new Mock <IFormulaFactory>();

            formulaParser.SetupSequence(t => t.Parse(It.IsAny <string>()))
            .Returns(new VariableFormula('n'))
            .Returns(new VariableFormula('n'));

            var conversionService = new ConversionService(formulaParser.Object);

            var(tableauInput, errorResponse) = conversionService.ParseTableauInput(_inputDuplicitFormulas);

            formulaParser.Verify(f => f.Parse(It.IsAny <string>()), Times.Exactly(2));
        }
Esempio n. 4
0
        public void ShouldFindError()
        {
            var formulaParser = new Mock <IFormulaFactory>();

            formulaParser.SetupSequence(t => t.Parse(It.IsAny <string>()))
            .Returns(new VariableFormula('n'))
            .Throws(new ParseException("..."));

            var conversionService = new ConversionService(formulaParser.Object);

            var(tableauInput, errorResponse) = conversionService.ParseTableauInput(_inputTwoFormulas);

            Assert.IsTrue(errorResponse.HasErrorResponse());
            Assert.IsTrue(errorResponse.FormulaParseRequests.Count == 2);
        }
Esempio n. 5
0
        public void ParserCorrectlyToTableauInput()
        {
            var formulaParser = new Mock <IFormulaFactory>();

            formulaParser.SetupSequence(t => t.Parse(It.IsAny <string>()))
            .Returns(new VariableFormula('a'))
            .Returns(new VariableFormula('b'));

            var conversionService = new ConversionService(formulaParser.Object);

            var(tableauInput, errorResponse) = conversionService.ParseTableauInput(_inputTwoFormulas);

            formulaParser.Verify(f => f.Parse(It.IsAny <string>()), Times.Exactly(2));

            Assert.AreEqual(new VariableFormula('a'), tableauInput.TableauRoot.Formula);
            Assert.AreEqual(new VariableFormula('b'), tableauInput.TheoryAxioms[0].Formula);
            Assert.AreEqual(tableauInput.TableauRoot.TruthLabel, _inputTwoFormulas.FormulaParseRequests[0].UnparsedTableauNode.TruthLabel);
            Assert.AreEqual(tableauInput.TheoryAxioms[0].TruthLabel, _inputTwoFormulas.FormulaParseRequests[1].UnparsedTableauNode.TruthLabel);

            Assert.IsTrue(!errorResponse.HasErrorResponse());
        }