def _parse_group(self, schema, questionnaire): """Parse a group element :param schema: The group schema :returns: Group object :raises: SchemaParserException """ group = Group() group.id = ParserUtils.get_required_string(schema, "id") group.title = ParserUtils.get_optional_string(schema, "title") # Register the group questionnaire.register(group) if "blocks" in schema.keys(): for block_schema in schema['blocks']: group.add_block(self._parse_block(block_schema, questionnaire)) else: raise SchemaParserException( 'Group must contain at least one block') return group
def _parse_group(self, schema, questionnaire): """Parse a group element :param schema: The group schema :returns: Group object :raises: SchemaParserException """ group = None try: group = Group() group.id = ParserUtils.get_required_string(schema, "id") group.title = ParserUtils.get_optional_string(schema, "title") # Register the group questionnaire.register(group) except Exception as e: logging.error('Error parsing schema') logging.info(e) raise e if "blocks" in schema.keys(): for block_schema in schema['blocks']: group.add_block(self._parse_block(block_schema, questionnaire)) else: raise SchemaParserException('Group must contain at least one block') return group
def test_basics(self): group = Group() group.id = 'some-id' group.title = 'my group object' block1 = Block() block1.id = 'block-1' block2 = Block() block2.id = 'block-2' group.add_block(block1) group.add_block(block2) self.assertEqual(group.id, 'some-id') self.assertEqual(group.title, 'my group object') self.assertIsNone(group.container) self.assertEqual(len(group.blocks), 2) self.assertEqual(group.blocks[0], block1) self.assertEqual(group.blocks[1], block2) self.assertEqual(block1.container, group) self.assertEqual(block2.container, group)
def test_basics(self): group = Group() group.id = 'some-id' group.title = 'my group object' block1 = Block() block1.id = 'block-1' block2 = Block() block2.id = 'block-2' group.add_block(block1) group.add_block(block2) self.assertEquals(group.id, 'some-id') self.assertEquals(group.title, 'my group object') self.assertIsNone(group.container) self.assertEquals(len(group.blocks), 2) self.assertEquals(group.blocks[0], block1) self.assertEquals(group.blocks[1], block2) self.assertEquals(block1.container, group) self.assertEquals(block2.container, group)