def test_get_available_types(self):
     tups = get_available_types()
     types = set([x[0] for x in tups])
     expected = set(['openmdao.lib.components.external_code.ExternalCode',
                     'openmdao.lib.components.mux.DeMux',
                     'openmdao.lib.drivers.doedriver.DOEdriver',
                     'openmdao.lib.drivers.genetic.Genetic',
                     'openmdao.lib.drivers.caseiterdriver.CaseIteratorDriver',
                     'openmdao.lib.components.metamodel.MetaModel',
                     'openmdao.lib.components.expected_improvement_multiobj.MultiObjExpectedImprovement',
                     'openmdao.lib.drivers.conmindriver.CONMINdriver',
                     'openmdao.lib.drivers.simplecid.SimpleCaseIterDriver',
                     'openmdao.lib.components.pareto_filter.ParetoFilter',
                     'openmdao.lib.drivers.newsumtdriver.NEWSUMTdriver',
                     'openmdao.lib.components.mux.Mux',
                     'openmdao.lib.components.expected_improvement.ExpectedImprovement',
                     'openmdao.test.execcomp.ExecComp',
                     'openmdao.main.assembly.Assembly',
                     'openmdao.lib.drivers.iterate.FixedPointIterator',])
     missing = expected - types
     if missing:
         self.fail("the following expected types were missing: %s" % missing)
         
     for typ,meta in tups:
         if not isinstance(meta, dict):
             self.fail("%s did not return a metadata dict from get_available_types" % typ)
         if 'version' not in meta:
             self.fail("the metadata for %s did not contain 'version'" % typ)
         if 'ifaces' not in meta:
             self.fail("the metadata for %s did not contain 'ifaces'" % typ)
示例#2
0
 def get_types(self):
     ''' Get a dictionary of types available for creation.
     '''
     # Don't want to get variable types showing up, so we exclude
     # 'openmdao.variable' from this list.
     keyset = set(plugin_groups.keys())
     exclset = set(['openmdao.variable'])
     groups = list(keyset - exclset)
     return packagedict(get_available_types(groups))
 def get_types(self):
     ''' Get a dictionary of types available for creation.
     '''
     #Don't want to get variable types showing up, so we exclude
     #'openmdao.variable' from this list.
     keyset = set(plugin_groups.keys())
     exclset = set(['openmdao.variable'])
     groups = list(keyset - exclset)
     return packagedict(get_available_types(groups))
示例#4
0
 def test_PythonSourceTreeAnalyser(self):
     try:
         import openmdao.main
         import openmdao.lib
     except ImportError:
         # don't perform this test if openmdao.main 
         # and openmdao.lib aren't present
         raise SkipTest("this test requires openmdao.main and openmdao.lib")
     
     def exclude_tests(pname):
         parts = pname.split(os.sep)
         return 'test' in parts
     
     startdirs = [os.path.dirname(openmdao.main.__file__), 
                  os.path.dirname(openmdao.lib.__file__)]
     psta = PythonSourceTreeAnalyser(startdirs, exclude_tests)
     
     self.assertTrue('openmdao.main.component.Component' in 
                     psta.graph['openmdao.main.container.Container'])
     self.assertTrue('openmdao.main.assembly.Assembly' in 
                     psta.graph['openmdao.main.component.Component'])
     
     self.assertTrue('openmdao.main.datatypes.float.Float' in
                     psta.graph['openmdao.main.variable.Variable'])
     
     comps = psta.find_inheritors('openmdao.main.component.Component')
     icomps = psta.find_inheritors('IComponent')
     
     self.assertTrue('openmdao.main.assembly.Assembly' in icomps)
     
     comps.extend(psta.find_inheritors('openmdao.main.variable.Variable'))
     comps.extend(psta.find_inheritors('enthought.traits.api.Array'))
     comps = [x.rsplit('.',1)[1] for x in comps if '.examples.' not in x and '.optproblems.' not in x]
     cset = set(comps)
     excludes = set([
         'Driver',
         'DriverUsesDerivatives',
         'DistributionCaseDriver',
         'CaseIterDriverBase',
         'PassthroughTrait',
         'PassthroughProperty',
         'OptProblem',
         'TraitArray',
         'Broadcast', # utility class for bliss2000
         'SubSystemOpt', # utility class for bliss2000
         'SubSystemObj' # utility class for bliss2000
         ])
     cset = cset - excludes
     
     from openmdao.main.api import get_available_types
     types = set([x[0] for x in get_available_types()])
     types = [x.rsplit('.',1)[1] for x in types if x.startswith('openmdao.')]
     
     tset = set(types)
     noentrypts = cset-tset
     if noentrypts:
         self.fail("the following Components are not registered using entry points: %s" % noentrypts)
示例#5
0
    def test_PythonSourceTreeAnalyser(self):

        skipdirs = set(
            ['test', 'docs', 'examples', 'optproblems', 'build', 'dist'])

        psta = PythonSourceTreeAnalyser(self.startdirs,
                                        direxclude=lambda d: d in skipdirs)

        self.assertTrue('openmdao.main.component.Component' in
                        psta.graph['openmdao.main.container.Container'])
        self.assertTrue('openmdao.main.assembly.Assembly' in
                        psta.graph['openmdao.main.component.Component'])

        self.assertTrue('openmdao.main.datatypes.float.Float' in
                        psta.graph['openmdao.main.variable.Variable'])

        comps = psta.find_inheritors('openmdao.main.component.Component')
        icomps = psta.find_inheritors('IComponent')

        self.assertTrue('openmdao.main.assembly.Assembly' in icomps)

        comps.extend(psta.find_inheritors('openmdao.main.variable.Variable'))
        comps.extend(psta.find_inheritors('traits.api.Array'))
        comps = [x.rsplit('.', 1)[1] for x in comps]
        cset = set(comps)
        excludes = set([
            'Driver',
            'DriverUsesDerivatives',
            'DistributionCaseDriver',
            'CaseIterDriverBase',
            'PassthroughTrait',
            'PassthroughProperty',
            'OptProblem',
            'TraitArray',
            'Broadcast',  # utility class for bliss2000
            'SubSystemOpt',  # utility class for bliss2000
            'SubSystemObj'  # utility class for bliss2000
        ])
        cset = cset - excludes

        from openmdao.main.api import get_available_types
        types = set([x[0] for x in get_available_types()])
        types = [
            x.rsplit('.', 1)[1] for x in types if x.startswith('openmdao.')
        ]

        tset = set(types)
        noentrypts = cset - tset
        if noentrypts:
            self.fail(
                "the following Components are not registered using entry points: %s"
                % noentrypts)
示例#6
0
    def test_PythonSourceTreeAnalyser(self):
        def exclude(pname):
            keywords = set(["test", "docs", "examples", "optproblems"])
            parts = set(pname.split(os.sep))
            return keywords.intersection(parts)

        psta = PythonSourceTreeAnalyser(self.startdirs, exclude)

        self.assertTrue("openmdao.main.component.Component" in psta.graph["openmdao.main.container.Container"])
        self.assertTrue("openmdao.main.assembly.Assembly" in psta.graph["openmdao.main.component.Component"])

        self.assertTrue("openmdao.main.datatypes.float.Float" in psta.graph["openmdao.main.variable.Variable"])

        comps = psta.find_inheritors("openmdao.main.component.Component")
        icomps = psta.find_inheritors("IComponent")

        self.assertTrue("openmdao.main.assembly.Assembly" in icomps)

        comps.extend(psta.find_inheritors("openmdao.main.variable.Variable"))
        comps.extend(psta.find_inheritors("enthought.traits.api.Array"))
        comps = [x.rsplit(".", 1)[1] for x in comps]
        # comps = [x.rsplit('.',1)[1] for x in comps if '.examples.' not in x and '.optproblems.' not in x]
        cset = set(comps)
        excludes = set(
            [
                "Driver",
                "DriverUsesDerivatives",
                "DistributionCaseDriver",
                "CaseIterDriverBase",
                "PassthroughTrait",
                "PassthroughProperty",
                "OptProblem",
                "TraitArray",
                "Broadcast",  # utility class for bliss2000
                "SubSystemOpt",  # utility class for bliss2000
                "SubSystemObj",  # utility class for bliss2000
            ]
        )
        cset = cset - excludes

        from openmdao.main.api import get_available_types

        types = set([x[0] for x in get_available_types()])
        types = [x.rsplit(".", 1)[1] for x in types if x.startswith("openmdao.")]

        tset = set(types)
        noentrypts = cset - tset
        if noentrypts:
            self.fail("the following Components are not registered using entry points: %s" % noentrypts)
    def test_PythonSourceTreeAnalyser(self):
       
        skipdirs = set(['test', 'docs', 'examples', 'optproblems',
                        'build', 'dist'])

        psta = PythonSourceTreeAnalyser(self.startdirs, 
                                        direxclude=lambda d: d in skipdirs)
        
        self.assertTrue('openmdao.main.component.Component' in 
                        psta.graph['openmdao.main.container.Container'])
        self.assertTrue('openmdao.main.assembly.Assembly' in 
                        psta.graph['openmdao.main.component.Component'])
        
        self.assertTrue('openmdao.main.datatypes.float.Float' in
                        psta.graph['openmdao.main.variable.Variable'])
        
        comps = psta.find_inheritors('openmdao.main.component.Component')
        icomps = psta.find_inheritors('IComponent')
        
        self.assertTrue('openmdao.main.assembly.Assembly' in icomps)
        
        comps.extend(psta.find_inheritors('openmdao.main.variable.Variable'))
        comps.extend(psta.find_inheritors('traits.api.Array'))
        comps = [x.rsplit('.',1)[1] for x in comps] 
        cset = set(comps)
        excludes = set([
            'Driver',
            'DriverUsesDerivatives',
            'DistributionCaseDriver',
            'CaseIterDriverBase',
            'PassthroughTrait',
            'PassthroughProperty',
            'OptProblem',
            'TraitArray',
            'Broadcast', # utility class for bliss2000
            'SubSystemOpt', # utility class for bliss2000
            'SubSystemObj' # utility class for bliss2000
            ])
        cset = cset - excludes
        
        from openmdao.main.api import get_available_types
        types = set([x[0] for x in get_available_types()])
        types = [x.rsplit('.',1)[1] for x in types if x.startswith('openmdao.')]
        
        tset = set(types)
        noentrypts = cset-tset
        if noentrypts:
            self.fail("the following Components are not registered using entry points: %s" % noentrypts)
示例#8
0
    def test_get_available_types(self):
        tups = get_available_types()
        types = set([x[0] for x in tups])
        iface_dict = dict((key, value['ifaces']) for (key, value) in tups)
        expected = set([
            'openmdao.lib.components.external_code.ExternalCode',
            'openmdao.lib.components.mux.DeMux',
            'openmdao.lib.drivers.doedriver.DOEdriver',
            'openmdao.lib.drivers.genetic.Genetic',
            'openmdao.lib.drivers.caseiterdriver.CaseIteratorDriver',
            'openmdao.lib.components.metamodel.MetaModel',
            'openmdao.lib.components.expected_improvement_multiobj.MultiObjExpectedImprovement',
            'openmdao.lib.drivers.conmindriver.CONMINdriver',
            'openmdao.lib.drivers.simplecid.SimpleCaseIterDriver',
            'openmdao.lib.components.pareto_filter.ParetoFilter',
            'openmdao.lib.drivers.newsumtdriver.NEWSUMTdriver',
            'openmdao.lib.components.mux.Mux',
            'openmdao.lib.components.expected_improvement.ExpectedImprovement',
            'openmdao.test.execcomp.ExecComp',
            'openmdao.main.assembly.Assembly',
            'openmdao.lib.drivers.iterate.FixedPointIterator',
            'openmdao.lib.optproblems.sellar.SellarProblem',
            'openmdao.lib.optproblems.branin.BraninProblem',
            'openmdao.lib.optproblems.polyscale.PolyScalableProblem'
        ])
        missing = expected - types
        if missing:
            self.fail("the following expected types were missing: %s" %
                      missing)

        for typ, meta in tups:
            if not isinstance(meta, dict):
                self.fail(
                    "%s did not return a metadata dict from get_available_types"
                    % typ)
            if 'version' not in meta:
                self.fail("the metadata for %s did not contain 'version'" %
                          typ)
            if 'ifaces' not in meta:
                self.fail("the metadata for %s did not contain 'ifaces'" % typ)

        self.assertEqual(
            iface_dict['openmdao.lib.drivers.conmindriver.CONMINdriver'], [
                'IHasObjective', 'IComponent', 'IHasParameters',
                'IHasIneqConstraints', 'IContainer', 'IDriver', 'IOptimizer'
            ])
示例#9
0
 def test_PythonSourceTreeAnalyser(self):
     try:
         import openmdao.main
         import openmdao.lib
     except ImportError:
         # don't perform this test if openmdao.main 
         # and openmdao.lib aren't present
         raise SkipTest("this test requires openmdao.main and openmdao.lib")
     startdirs = [os.path.dirname(openmdao.main.__file__), 
                  os.path.dirname(openmdao.lib.__file__)]
     psta = PythonSourceTreeAnalyser(startdirs, os.path.join('*','test','*'))
     
     self.assertTrue('openmdao.main.component.Component' in 
                     psta.graph['openmdao.main.container.Container'])
     self.assertTrue('openmdao.main.assembly.Assembly' in 
                     psta.graph['openmdao.main.component.Component'])
     
     self.assertTrue('openmdao.lib.datatypes.float.Float' in
                     psta.graph['openmdao.main.variable.Variable'])
     
     comps = psta.find_inheritors('openmdao.main.component.Component')
     comps.extend(psta.find_inheritors('openmdao.main.variable.Variable'))
     comps.extend(psta.find_inheritors('enthought.traits.api.Array'))
     comps = [x.rsplit('.',1)[1] for x in comps]
     comps.remove('Driver')
     comps.remove('DriverUsesDerivatives')
     comps.remove('CaseIterDriverBase')
     comps.remove('PassthroughTrait')
     comps.remove('PassthroughProperty')
     
     from openmdao.main.api import get_available_types
     groups = [ 'openmdao.component',
                'openmdao.driver',
                'openmdao.variable']
     types = set([x[0] for x in get_available_types(groups)])
     types = [x.rsplit('.',1)[1] for x in types if x.startswith('openmdao.')]
     
     cset = set(comps)
     tset = set(types)
     noentrypts = cset-tset
     if noentrypts:
         self.fail("the following Components are not registered using entry points: %s" % noentrypts)
 def test_get_available_types(self):
     types = set([x[0] for x in get_available_types()])
     expected = set(['openmdao.lib.components.external_code.ExternalCode',
                     'openmdao.lib.components.mux.DeMux',
                     'openmdao.lib.drivers.doedriver.DOEdriver',
                     'openmdao.lib.drivers.genetic.Genetic',
                     'openmdao.lib.drivers.caseiterdriver.CaseIteratorDriver',
                     'openmdao.lib.components.metamodel.MetaModel',
                     'openmdao.lib.components.expected_improvement_multiobj.MultiObjExpectedImprovement',
                     'openmdao.lib.drivers.conmindriver.CONMINdriver',
                     'openmdao.lib.drivers.simplecid.SimpleCaseIterDriver',
                     'openmdao.lib.components.pareto_filter.ParetoFilter',
                     'openmdao.lib.drivers.newsumtdriver.NEWSUMTdriver',
                     'openmdao.lib.components.mux.Mux',
                     'openmdao.lib.components.expected_improvement.ExpectedImprovement',
                     'openmdao.test.execcomp.ExecComp',
                     'openmdao.main.assembly.Assembly',
                     'openmdao.lib.drivers.iterate.FixedPointIterator',])
     missing = expected - types
     if missing:
         self.fail("the following expected types were missing: %s" % missing)
    def test_get_available_types(self):
        tups = get_available_types()
        types = set([x[0] for x in tups])
        iface_dict = dict((key, value['ifaces']) for (key, value) in tups)
        expected = set(['openmdao.lib.components.external_code.ExternalCode',
                        'openmdao.lib.components.mux.DeMux',
                        'openmdao.lib.drivers.doedriver.DOEdriver',
                        'openmdao.lib.drivers.genetic.Genetic',
                        'openmdao.lib.drivers.caseiterdriver.CaseIteratorDriver',
                        'openmdao.lib.components.metamodel.MetaModel',
                        'openmdao.lib.components.expected_improvement_multiobj.MultiObjExpectedImprovement',
                        'openmdao.lib.drivers.conmindriver.CONMINdriver',
                        'openmdao.lib.drivers.simplecid.SimpleCaseIterDriver',
                        'openmdao.lib.components.pareto_filter.ParetoFilter',
                        'openmdao.lib.drivers.newsumtdriver.NEWSUMTdriver',
                        'openmdao.lib.components.mux.Mux',
                        'openmdao.lib.components.expected_improvement.ExpectedImprovement',
                        'openmdao.test.execcomp.ExecComp',
                        'openmdao.main.assembly.Assembly',
                        'openmdao.lib.drivers.iterate.FixedPointIterator',
                        'openmdao.lib.optproblems.sellar.SellarProblem',
                        'openmdao.lib.optproblems.branin.BraninProblem',
                        'openmdao.lib.optproblems.polyscale.PolyScalableProblem'])
        missing = expected - types
        if missing:
            self.fail("the following expected types were missing: %s" % missing)

        for typ,meta in tups:
            if not isinstance(meta, dict):
                self.fail("%s did not return a metadata dict from get_available_types" % typ)
            if 'version' not in meta:
                self.fail("the metadata for %s did not contain 'version'" % typ)
            if 'ifaces' not in meta:
                self.fail("the metadata for %s did not contain 'ifaces'" % typ)

        self.assertEqual(iface_dict['openmdao.lib.drivers.conmindriver.CONMINdriver'],
                         ['IHasObjective', 'IComponent', 'IHasParameters', 'IHasIneqConstraints', 'IContainer', 'IDriver', 'IOptimizer'])
示例#12
0
    def test_get_available_types(self):
        tups = get_available_types()
        types = set([x[0] for x in tups])
        expected = set([
            'openmdao.lib.components.external_code.ExternalCode',
            'openmdao.lib.components.mux.DeMux',
            'openmdao.lib.drivers.doedriver.DOEdriver',
            'openmdao.lib.drivers.genetic.Genetic',
            'openmdao.lib.drivers.caseiterdriver.CaseIteratorDriver',
            'openmdao.lib.components.metamodel.MetaModel',
            'openmdao.lib.components.expected_improvement_multiobj.MultiObjExpectedImprovement',
            'openmdao.lib.drivers.conmindriver.CONMINdriver',
            'openmdao.lib.drivers.simplecid.SimpleCaseIterDriver',
            'openmdao.lib.components.pareto_filter.ParetoFilter',
            'openmdao.lib.drivers.newsumtdriver.NEWSUMTdriver',
            'openmdao.lib.components.mux.Mux',
            'openmdao.lib.components.expected_improvement.ExpectedImprovement',
            'openmdao.test.execcomp.ExecComp',
            'openmdao.main.assembly.Assembly',
            'openmdao.lib.drivers.iterate.FixedPointIterator',
        ])
        missing = expected - types
        if missing:
            self.fail("the following expected types were missing: %s" %
                      missing)

        for typ, meta in tups:
            if not isinstance(meta, dict):
                self.fail(
                    "%s did not return a metadata dict from get_available_types"
                    % typ)
            if 'version' not in meta:
                self.fail("the metadata for %s did not contain 'version'" %
                          typ)
            if 'ifaces' not in meta:
                self.fail("the metadata for %s did not contain 'ifaces'" % typ)
示例#13
0
 def test_get_available_types(self):
     types = set([x[0] for x in get_available_types()])
     expected = set([
         'openmdao.lib.components.external_code.ExternalCode',
         'openmdao.lib.components.mux.DeMux',
         'openmdao.lib.drivers.doedriver.DOEdriver',
         'openmdao.lib.drivers.genetic.Genetic',
         'openmdao.lib.drivers.caseiterdriver.CaseIteratorDriver',
         'openmdao.lib.components.metamodel.MetaModel',
         'openmdao.lib.components.expected_improvement_multiobj.MultiObjExpectedImprovement',
         'openmdao.lib.drivers.conmindriver.CONMINdriver',
         'openmdao.lib.drivers.simplecid.SimpleCaseIterDriver',
         'openmdao.lib.components.pareto_filter.ParetoFilter',
         'openmdao.lib.drivers.newsumtdriver.NEWSUMTdriver',
         'openmdao.lib.components.mux.Mux',
         'openmdao.lib.components.expected_improvement.ExpectedImprovement',
         'openmdao.test.execcomp.ExecComp',
         'openmdao.main.assembly.Assembly',
         'openmdao.lib.drivers.iterate.FixedPointIterator',
     ])
     missing = expected - types
     if missing:
         self.fail("the following expected types were missing: %s" %
                   missing)
示例#14
0
    def test_PythonSourceTreeAnalyser(self):
        try:
            import openmdao.main
            import openmdao.lib
        except ImportError:
            # don't perform this test if openmdao.main
            # and openmdao.lib aren't present
            raise SkipTest("this test requires openmdao.main and openmdao.lib")

        def exclude_tests(pname):
            parts = pname.split(os.sep)
            return 'test' in parts

        startdirs = [
            os.path.dirname(openmdao.main.__file__),
            os.path.dirname(openmdao.lib.__file__)
        ]
        psta = PythonSourceTreeAnalyser(startdirs, exclude_tests)

        self.assertTrue('openmdao.main.component.Component' in
                        psta.graph['openmdao.main.container.Container'])
        self.assertTrue('openmdao.main.assembly.Assembly' in
                        psta.graph['openmdao.main.component.Component'])

        self.assertTrue('openmdao.main.datatypes.float.Float' in
                        psta.graph['openmdao.main.variable.Variable'])

        comps = psta.find_inheritors('openmdao.main.component.Component')
        icomps = psta.find_inheritors('IComponent')

        self.assertTrue('openmdao.main.assembly.Assembly' in icomps)

        comps.extend(psta.find_inheritors('openmdao.main.variable.Variable'))
        comps.extend(psta.find_inheritors('enthought.traits.api.Array'))
        comps = [
            x.rsplit('.', 1)[1] for x in comps
            if '.examples.' not in x and '.optproblems.' not in x
        ]
        cset = set(comps)
        excludes = set([
            'Driver',
            'DriverUsesDerivatives',
            'DistributionCaseDriver',
            'CaseIterDriverBase',
            'PassthroughTrait',
            'PassthroughProperty',
            'OptProblem',
            'TraitArray',
        ])
        cset = cset - excludes

        from openmdao.main.api import get_available_types
        types = set([x[0] for x in get_available_types()])
        types = [
            x.rsplit('.', 1)[1] for x in types if x.startswith('openmdao.')
        ]

        tset = set(types)
        noentrypts = cset - tset
        if noentrypts:
            self.fail(
                "the following Components are not registered using entry points: %s"
                % noentrypts)
示例#15
0
 def get_types(self):
     return packagedict(get_available_types())
示例#16
0
 def get_types(self):
     return packagedict(get_available_types())