Example #1
0
    def testExecute2(self):

        self.assertPreExecute()

        definition = self.createDefinition()
        reference = DefinitionModule.ReferenceDefinition()
        reference.definitionToReference(definition)
        reference.name(definition.name())

        reference = GeneratePomsetsModule.pickleAndReloadDefinition(
            '.'.join([self.getPicklePath(), 'pomset']),
            reference
        )

        task = self.createTask(reference)
        self.bindTaskParameterValues(task)

        request = self.executeTask(task)
        self.request = request

        self.assertPostExecute()
        return 
    def testPickleAndLoad(self):
        """
        This verifies a pomset saved out and reloaded
        still references the same definition
        
        - create a pomset that references the two library definitions
        - save out the pomset
        - load the pomset again
        - assert the references are identical, using Python's "is"
        """

        # load the library definitions
        library = self.initializeLibrary()

        request = self.automaton.runBootstrapLoader(library)
        assert not request.exception

        # create the pomset, add a node
        # and have that node reference a library definition
        filter = RelationalModule.ColumnValueFilter(
            'definition',
            FilterModule.IdFilter(TestDefinitionModule.ID_WORDCOUNT))
        definitionToReference = library.getDefinition(filter)
        compositeDefinition = DefinitionModule.getNewNestDefinition()
        mapperNode = compositeDefinition.createNode(id='mapper')
        mapperNode.definitionToReference(definitionToReference)

        # pickle the pomset
        # unpickle the pomset
        definition = TestDefinitionModule.pickleAndReloadDefinition(
            os.sep.join(['', 'tmp', 'foo.pomset']),
            compositeDefinition
        )
        library.updateWithLibraryDefinitions(definition.definitionToReference())
        
        definitionToReference = library.getDefinition(filter)
        self.assertTrue(definition.definitionToReference().nodes()[0].definitionToReference() is definitionToReference)
        
        return