def test_simple_serialization_and_deserialization(self):
        typeDescription = TypeDescription.Primitive(23.4)
        self.assertDeserializationSerializationSucceeded(typeDescription)

        typeDescription = TypeDescription.Tuple([1, 2, 3, 4, 5])
        self.assertDeserializationSerializationSucceeded(typeDescription)

        typeDescription = TypeDescription.ClassDefinition("source text here", ['test'])
        self.assertDeserializationSerializationSucceeded(typeDescription)
Example #2
0
    def defineClass(self, objectId, sourceFileId, lineNumber, scopeIds):
        """
        scopeIds: a dict freeVariableMemberAccessChain -> id
        """
        freeVariableMemberAccessChainsToId = \
            self._processFreeVariableMemberAccessChainResolution(
                scopeIds
                )

        self.objectIdToObjectDefinition[objectId] = \
            TypeDescription.ClassDefinition(
                sourceFileId=sourceFileId,
                lineNumber=lineNumber,
                freeVariableMemberAccessChainsToId=freeVariableMemberAccessChainsToId
                )
Example #3
0
    def defineClass(self, objectId, sourceFileId, lineNumber, scopeIds, baseClassIds):
        """
        scopeIds: a dict freeVariableMemberAccessChain -> id
        baseClassIds: a list of ids representing (immediate) base classes
        """
        freeVariableMemberAccessChainsToId = \
            self._processFreeVariableMemberAccessChainResolution(
                scopeIds
                )

        self.objectIdToObjectDefinition[objectId] = \
            TypeDescription.ClassDefinition(
                sourceFileId=sourceFileId,
                lineNumber=lineNumber,
                freeVariableMemberAccessChainsToId=freeVariableMemberAccessChainsToId,
                baseClassIds=baseClassIds
                )
    def test_nested_type_serialization_and_deserialization(self):
        dict1 = { "a": 1, "b": 2, "c": 3}
        dict2 = { "a": 4, "b": 5, "c": 6}

        typeDescription = TypeDescription.ClassDefinition("source text here", [dict1, dict2])
        self.assertDeserializationSerializationSucceeded(typeDescription)