示例#1
0
    def __init__(self, schema):
        """Initialise the parser with the schema

        :param schema: the schema json object or dict

        """
        self._version = "0.0.1"
        self._schema = schema
        self.answer_factory = Factory()
        self.answer_factory.register_all({
            'CHECKBOX': CheckboxAnswer,
            'CURRENCY': CurrencyAnswer,
            'DATE': DateAnswer,
            'MONTHYEARDATE': MonthYearDateAnswer,
            'INTEGER': IntegerAnswer,
            'PERCENTAGE': PercentageAnswer,
            'POSITIVEINTEGER': PositiveIntegerAnswer,
            'RADIO': RadioAnswer,
            'TEXTAREA': TextareaAnswer,
            'TEXTFIELD': TextfieldAnswer,
            'RELATIONSHIP': RelationshipAnswer,
        })

        self.question_factory = Factory()
        self.question_factory.register_all({
            'GENERAL':
            GeneralQuestion,
            'DATERANGE':
            DateRangeQuestion,
            'REPEATINGANSWER':
            RepeatingAnswerQuestion,
            'RELATIONSHIP':
            RelationshipQuestion,
        })
示例#2
0
    def test_register_all(self):
        factory = Factory()

        classes = {"test-a": TestClassA, "test-b": TestClassB}

        factory.register_all(classes)

        self.assertIsInstance(factory.create("test-a"), TestClassA)
        self.assertIsInstance(factory.create("test-b"), TestClassB)
示例#3
0
    def test_register(self):
        factory = Factory()
        factory.register("test", TestClassA)

        self.assertIsInstance(factory.create("test"), TestClassA)