Esempio n. 1
0
def _skipTypeIfTagNameMatch(trimmedModelTypes, textToTest):
    typesToTest = []
    for typeObj in trimmedModelTypes:
        typesToTest.append(typeObj)

    for typeObj in typesToTest:
        if modelFuncs.hasTag(textToTest, typeObj):
            trimmedModelTypes.remove(typeObj)
Esempio n. 2
0
    def testTags(self):
        modelFile = 'resources/models/json/yacg_model_schema.json'
        modelFileExists = os.path.isfile(modelFile)
        self.assertTrue('model file exists: ' + modelFile, modelFileExists)
        model = config.Model()
        model.schema = modelFile
        modelTypes = getModelFromJson(model, [])
        metaModelTypes = []
        self.assertIsNotNone(modelTypes)
        tagType = None
        propertyType = None
        complexTypeType = None
        for type in modelTypes:
            if hasTag('metaModelType', type):
                metaModelTypes.append(type.name)
            if type.name == 'Tag':
                tagType = type
            elif type.name == 'Property':
                propertyType = type
            elif type.name == 'ComplexType':
                complexTypeType = type
            self.assertEqual('yacg.model.model', type.domain)
        self.assertIsNotNone(tagType)
        constructorValueProps1 = getPropertiesThatHasTag('constructorValue', tagType)
        self.assertEqual(2, len(constructorValueProps1))
        self.assertIsNotNone(propertyType)
        constructorValueProps2 = getPropertiesThatHasTag('constructorValue', propertyType)
        self.assertEqual(2, len(constructorValueProps2))
        self.assertIsNotNone(complexTypeType)
        constructorValueProps3 = getPropertiesThatHasTag('constructorValue', complexTypeType)
        self.assertEqual(0, len(constructorValueProps3))

        expectedMetaModelTypes = [
            'Type',
            'ObjectType',
            'IntegerType',
            'NumberType',
            'BooleanType',
            'StringType',
            'UuidType',
            'EnumType',
            'DateType',
            'DateTimeType',
            'BytesType',
            'ComplexType',
            'DictionaryType'
        ]
        self.assertEqual(expectedMetaModelTypes, metaModelTypes)
Esempio n. 3
0
def _addTypeIfTagNameMatch(modelTypes, trimmedModelTypes, textToTest):
    for typeObj in modelTypes:
        if modelFuncs.hasTag(textToTest, typeObj):
            trimmedModelTypes.append(typeObj)