def test(self):
     result = Typechecking.check(self.questionnaire,
                                 ErrorsWarningsResult.factory(),
                                 TestMessage.factory(),
                                 [checkers.DuplicateQuestionLabels])
     self.assertEqual(2, len(result.warnings))
     _assertDuplication(self, result.warnings[0], result.warnings[1])
 def test(self):
     result = Typechecking.check(self.questionnaire,
                                 ErrorsWarningsResult.factory(),
                                 TestMessage.factory(),
                                 [checkers.TypesOfExpressions])
     self.assertEqual(1, len(result.errors))
     _assertInvalidOperandsError(self, result.errors[0], QLLogicalNot)
Esempio n. 3
0
 def test(self):
     result = Typechecking.check(self.questionnaire,
                                 ErrorsWarningsResult.factory(),
                                 TestMessage.factory(),
                                 [checkers.QuestionRedefinitions])
     self.assertEqual(1, len(result.errors))
     _assertRedefinition(self, result.errors[0], QLBoolean, QLString)
Esempio n. 4
0
 def test(self):
     result = Typechecking.check(self.questionnaire,
                                 ErrorsWarningsResult.factory(),
                                 TestMessage.factory(),
                                 [checkers.CyclicQuestionDependencies])
     self.assertEqual(1, len(result.errors))
     _assertQuestionCycle(self, result.errors[0])
Esempio n. 5
0
 def test(self):
     result = Typechecking.check(
         self.questionnaire,
         ErrorsWarningsResult.factory(),
         TestMessage.factory(),
         [checkers.TypesOfExpressions]
     )
     self.assertEqual(0, len(result.errors))
 def test(self):
     result = Typechecking.check(
         self.questionnaire,
         ErrorsWarningsResult.factory(),
         TestMessage.factory(),
         [checkers.TypesOfExpressions]
     )
     self.assertEqual(0, len(result.errors))
Esempio n. 7
0
 def test(self):
     result = Typechecking.check(self.questionnaire,
                                 ErrorsWarningsResult.factory(),
                                 TestMessage.factory(),
                                 [checkers.TypesOfExpressions])
     self.assertEqual(1, len(result.errors))
     _assertUndeclaredIdentifier(self, result.errors[0],
                                 QLIdentifier('baz'))
 def test(self):
     result = Typechecking.check(
         self.questionnaire,
         ErrorsWarningsResult.factory(),
         TestMessage.factory(),
         [checkers.DuplicateQuestionLabels]
     )
     self.assertEqual(0, len(result.warnings))
 def test(self):
     result = Typechecking.check(
         self.questionnaire,
         ErrorsWarningsResult.factory(),
         TestMessage.factory(),
         [checkers.CyclicQuestionDependencies]
     )
     self.assertEqual(0, len(result.errors))
Esempio n. 10
0
 def test(self):
     result = Typechecking.check(
         self.questionnaire,
         ErrorsWarningsResult.factory(),
         TestMessage.factory(),
         [checkers.QuestionRedefinitions]
     )
     self.assertEqual(1, len(result.errors))
     _assertRedefinition(self, result.errors[0], QLBoolean, QLString)
Esempio n. 11
0
def typecheck(parser):
    result = Typechecking.check(parser.questionnaire,
                                OrderedErrorsWarningsResult.factory(),
                                ConsoleMessage.factory(parser))

    for message in result.messages:
        print(message, file=sys.stderr)

    return len(result.errors) == 0
Esempio n. 12
0
 def test(self):
     result = Typechecking.check(
         self.questionnaire,
         ErrorsWarningsResult.factory(),
         TestMessage.factory(),
         [checkers.TypesOfExpressions]
     )
     self.assertEqual(1, len(result.errors))
     _assertInvalidOperandsError(
         self, result.errors[0], QLLogicalNot
     )
 def test(self):
     result = Typechecking.check(
         self.questionnaire,
         ErrorsWarningsResult.factory(),
         TestMessage.factory(),
         [checkers.TypesOfExpressions]
     )
     self.assertEqual(1, len(result.errors))
     _assertNonBooleanConditionError(
         self, result.errors[0], QLString
     )
Esempio n. 14
0
 def test(self):
     result = Typechecking.check(
         self.questionnaire,
         ErrorsWarningsResult.factory(),
         TestMessage.factory(),
         [checkers.TypesOfExpressions]
     )
     self.assertEqual(1, len(result.errors))
     _assertUndeclaredIdentifier(
         self, result.errors[0], QLIdentifier('baz')
     )
Esempio n. 15
0
def typecheck(parser):
    result = Typechecking.check(
        parser.questionnaire,
        OrderedErrorsWarningsResult.factory(),
        ConsoleMessage.factory(parser)
    )

    for message in result.messages:
        print(message, file=sys.stderr)

    return len(result.errors) == 0