def testVarGenFuncs(iterGen): valuesIter = msuite.getParamValuesIter(varDict, iterGen) print "Value tuples:\n%s" % list(valuesIter) indicesIter = msuite.getVariantIndicesIter(varDict, iterGen) print "Indices into vars list:\n%s" % list(indicesIter) indicesIter = msuite.getVariantIndicesIter(varDict, iterGen) varNameDicts = msuite.getVariantNameDicts(varDict, indicesIter) print "Dictionary of var names:values :\n%s" % varNameDicts indicesIter = msuite.getVariantIndicesIter(varDict, iterGen) varPathDicts = msuite.getVariantParamPathDicts(varDict, indicesIter) print "Dictionary of var paths:values :\n%s" % varPathDicts indicesIter = msuite.getVariantIndicesIter(varDict, iterGen) subPaths = msuite.getTextParamValsSubdirs(varDict, indicesIter) print "Sub-paths (textual):\n%s" % subPaths indicesIter = msuite.getVariantIndicesIter(varDict, iterGen) cmdLineOvers = msuite.getVariantCmdLineOverrides(varDict, indicesIter) print "Cmd-line strings:\n%s" % cmdLineOvers print "subDirs, strs:" subDirsAndCmdLines = zip(subPaths, cmdLineOvers) for subDir, cmdLineStr in subDirsAndCmdLines: print " %s: '%s'" % (subDir, cmdLineStr) print "Indexes and results of a certain parameter" gravRunIs = msuite.getVarRunIs('gravity', varDict, varNameDicts) print "Run Indices of variant 'gravity':\n%s" % gravRunIs surfValsMap = msuite.getOtherParamValsByVarRunIs(gravRunIs, varNameDicts, 'surfShape') print "Run Indices of variant 'surfShape' sorted by 'gravity':\n%s" \ % (surfValsMap)
def test_getVariantParamPathDicts(self): indicesIt = msuite.getVariantIndicesIter(self.varDict, itertools.izip) varDicts = msuite.getVariantParamPathDicts(self.varDict, indicesIt) self.assertEqual(len(varDicts), min(list(map(len, [self.yRange, self.zRange])))) for ii, varDict in enumerate(varDicts): self.assertEqual(varDict['minY'], self.yRange[ii]) self.assertEqual(varDict['maxZ'], self.zRange[ii]) indicesIt = msuite.getVariantIndicesIter(self.varDict, msuite.product) varDicts = msuite.getVariantParamPathDicts(self.varDict, indicesIt) self.assertEqual(len(varDicts), (len(self.yRange) * len(self.zRange))) # Loop through and check the product has worked. for ii in range(len(self.yRange)): for jj in range(len(self.zRange)): entryI = ii * len(self.zRange) + jj varDict = varDicts[entryI] self.assertEqual(varDict['minY'], self.yRange[ii]) self.assertEqual(varDict['maxZ'], self.zRange[jj])
def test_getVariantParamPathDicts(self): indicesIt = msuite.getVariantIndicesIter(self.varDict, itertools.izip) varDicts = msuite.getVariantParamPathDicts(self.varDict, indicesIt) self.assertEqual(len(varDicts), min( map(len, [self.yRange, self.zRange]))) for ii, varDict in enumerate(varDicts): self.assertEqual(varDict['minY'], self.yRange[ii]) self.assertEqual(varDict['maxZ'], self.zRange[ii]) indicesIt = msuite.getVariantIndicesIter(self.varDict, msuite.product) varDicts = msuite.getVariantParamPathDicts(self.varDict, indicesIt) self.assertEqual(len(varDicts), (len(self.yRange) * len(self.zRange))) # Loop through and check the product has worked. for ii in range(len(self.yRange)): for jj in range(len(self.zRange)): entryI = ii * len(self.zRange) + jj varDict = varDicts[entryI] self.assertEqual(varDict['minY'], self.yRange[ii]) self.assertEqual(varDict['maxZ'], self.zRange[jj])