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, })
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)
def test_register(self): factory = Factory() factory.register("test", TestClassA) self.assertIsInstance(factory.create("test"), TestClassA)