def testExecute(self): """ """ self.run() # Checks that there are no error messages plugin = self.getPlugin() edPlugin = self.getPlugin() strBestVersion = self.getPlugin().getStringVersion() if strBestVersion.find("3.1.0") != -1 : self.setReferenceDataOutputFile(os.path.join(self.getPluginTestsDataHome(), "XSDataResultBest_reference.xml")) elif strBestVersion.find("3.2.0") != -1 : self.setReferenceDataOutputFile(os.path.join(self.getPluginTestsDataHome(), "XSDataResultBest_reference_BESTv320.xml")) # Checks the expected result strExpectedOutput = self.readAndParseFile(self.getReferenceDataOutputFile()) from XSDataBestv1_1 import XSDataResultBest xsDataOutputExpected = XSDataResultBest.parseString(strExpectedOutput) xsDataOutputObtained = edPlugin.getDataOutput() EDAssert.equal(xsDataOutputExpected.marshal(), xsDataOutputObtained.marshal())
def testExecute(self): """ """ self.run() # Checks that there are no error messages plugin = self.getPlugin() edPlugin = self.getPlugin() strBestVersion = self.getPlugin().getStringVersion() if strBestVersion.find("3.1.0") != -1: self.setReferenceDataOutputFile( os.path.join(self.getPluginTestsDataHome(), "XSDataResultBest_reference.xml")) elif strBestVersion.find("3.2.0") != -1: self.setReferenceDataOutputFile( os.path.join(self.getPluginTestsDataHome(), "XSDataResultBest_reference_BESTv320.xml")) # Checks the expected result strExpectedOutput = self.readAndParseFile( self.getReferenceDataOutputFile()) from XSDataBestv1_1 import XSDataResultBest xsDataOutputExpected = XSDataResultBest.parseString(strExpectedOutput) xsDataOutputObtained = edPlugin.getDataOutput() EDAssert.equal(xsDataOutputExpected.marshal(), xsDataOutputObtained.marshal())
def testGenerateExecutiveSummary(self): strInputBest = self.readAndParseFile(self.strReferenceInputFile) strResultBest = self.readAndParseFile(self.strReferenceResultFile) from XSDataBestv1_1 import XSDataInputBest from XSDataBestv1_1 import XSDataResultBest xsDataInputBest = XSDataInputBest.parseString(strInputBest) xsDataResultBest = XSDataResultBest.parseString(strResultBest) edPluginBest = self.createPlugin() edPluginBest.setDataInput(xsDataInputBest) edPluginBest.setDataOutput(xsDataResultBest) edPluginBest.generateExecutiveSummary(edPluginBest)
def getOutputDataFromDNATableFile(self, _strFileName): xsDataResultBest = XSDataResultBest() strDnaTablesXML = self.readProcessFile(_strFileName) xsDataDnaTables = dna_tables.parseString(strDnaTablesXML) # Loop through all the tables and fill in the relevant parts of xsDataResultBest # SubWedges xsTablesCollectionStrategy = EDUtilsTable.getTableListFromTables( xsDataDnaTables, "data_collection_strategy") iCollectionPlanNumber = 1 for xsTableCollectionStrategy in xsTablesCollectionStrategy: xsDataBestCollectionPlan = XSDataBestCollectionPlan() xsCollectionRunList = EDUtilsTable.getListsFromTable( xsTableCollectionStrategy, "collection_run") iCollectionRunNumber = 1 for xsCollectionRunItemList in xsCollectionRunList: xsDataCollectionRun = self.collectionRunItemListToCollectionRun( xsCollectionRunItemList) xsDataCollectionRun.setCollectionRunNumber( XSDataInteger(iCollectionRunNumber)) xsDataBestCollectionPlan.addCollectionRun(xsDataCollectionRun) iCollectionRunNumber = iCollectionRunNumber + 1 # Strategy Summary xsStrategySummaryItemList = EDUtilsTable.getListsFromTable( xsTableCollectionStrategy, "summary") xsDataStrategySummary = self.strategySummaryItemListToStrategySummary( xsStrategySummaryItemList[0]) # Ranking Resolution # Not part of strategySummaryItemListToStrategySummary method since it is in the general_form part xsTableGeneralInform = EDUtilsTable.getTableFromTables( xsDataDnaTables, "general_inform") xsRankingResolutionItemList = EDUtilsTable.getListsFromTable( xsTableGeneralInform, "ranking_resolution") xsItemRankingResolution = EDUtilsTable.getItemFromList( xsRankingResolutionItemList[0], "dmin") fRankingResolution = float(xsItemRankingResolution.getValueOf_()) xsDataStrategySummary.setRankingResolution( XSDataDouble(fRankingResolution)) xsDataBestCollectionPlan.setStrategySummary(xsDataStrategySummary) # Satistics xsTablesStatisticalPrediction = EDUtilsTable.getTableListFromTables( xsDataDnaTables, "statistical_prediction") for xsTableStatisticalPrediction in xsTablesStatisticalPrediction: if (xsTableStatisticalPrediction.getIndex() == xsTableCollectionStrategy.getIndex()): xsResolutionBinList = EDUtilsTable.getListsFromTable( xsTableStatisticalPrediction, "resolution_bin") xsDataStatisticalPrediction = XSDataBestStatisticalPrediction( ) for xsResolutionBinItemList in xsResolutionBinList: xsDataResolutionBin = self.resolutionBinItemListToResolutionBin( xsResolutionBinItemList) xsDataStatisticalPrediction.addResolutionBin( xsDataResolutionBin) xsDataBestCollectionPlan.setStatisticalPrediction( xsDataStatisticalPrediction) xsDataBestCollectionPlan.setCollectionPlanNumber( XSDataInteger(iCollectionPlanNumber)) xsDataResultBest.addCollectionPlan(xsDataBestCollectionPlan) iCollectionPlanNumber = iCollectionPlanNumber + 1 # Fix the order of the collection plans - then low resolution pass should be the first one listCollectionPlan = xsDataResultBest.getCollectionPlan() if (len(listCollectionPlan) > 1): bIsModified = False for xsDataCollectionPlan in listCollectionPlan: xsDataStrategySummary = xsDataCollectionPlan.getStrategySummary( ) strReasoning = xsDataStrategySummary.getResolutionReasoning( ).getValue() if (strReasoning.find("Low-resolution") != -1) and (xsDataCollectionPlan.getCollectionPlanNumber( ).getValue() != 1): listCollectionPlan.remove(xsDataCollectionPlan) listCollectionPlan.insert(0, xsDataCollectionPlan) bIsModified = True if (bIsModified): iCollectionPlanNumber = 1 for xsDataCollectionPlan in listCollectionPlan: xsDataCollectionPlan.setCollectionPlanNumber( XSDataInteger(iCollectionPlanNumber)) iCollectionPlanNumber = iCollectionPlanNumber + 1 return xsDataResultBest
def getOutputDataFromDNATableFile(self, _strFileName): xsDataResultBest = XSDataResultBest() strDnaTablesXML = self.readProcessFile(_strFileName) xsDataDnaTables = dna_tables.parseString(strDnaTablesXML) # Loop through all the tables and fill in the relevant parts of xsDataResultBest # SubWedges xsTablesCollectionStrategy = EDUtilsTable.getTableListFromTables(xsDataDnaTables, "data_collection_strategy") iCollectionPlanNumber = 1 for xsTableCollectionStrategy in xsTablesCollectionStrategy: xsDataBestCollectionPlan = XSDataBestCollectionPlan() xsCollectionRunList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "collection_run") iCollectionRunNumber = 1 for xsCollectionRunItemList in xsCollectionRunList: xsDataCollectionRun = self.collectionRunItemListToCollectionRun(xsCollectionRunItemList) xsDataCollectionRun.setCollectionRunNumber(XSDataInteger(iCollectionRunNumber)) xsDataBestCollectionPlan.addCollectionRun(xsDataCollectionRun) iCollectionRunNumber = iCollectionRunNumber + 1 # Strategy Summary xsStrategySummaryItemList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "summary") xsDataStrategySummary = self.strategySummaryItemListToStrategySummary(xsStrategySummaryItemList[0]) # Ranking Resolution # Not part of strategySummaryItemListToStrategySummary method since it is in the general_form part xsTableGeneralInform = EDUtilsTable.getTableFromTables(xsDataDnaTables, "general_inform") xsRankingResolutionItemList = EDUtilsTable.getListsFromTable(xsTableGeneralInform, "ranking_resolution") xsItemRankingResolution = EDUtilsTable.getItemFromList(xsRankingResolutionItemList[0], "dmin") fRankingResolution = float(xsItemRankingResolution.getValueOf_()) xsDataStrategySummary.setRankingResolution(XSDataDouble(fRankingResolution)) xsDataBestCollectionPlan.setStrategySummary(xsDataStrategySummary) # Satistics xsTablesStatisticalPrediction = EDUtilsTable.getTableListFromTables(xsDataDnaTables, "statistical_prediction") for xsTableStatisticalPrediction in xsTablesStatisticalPrediction: if(xsTableStatisticalPrediction.getIndex() == xsTableCollectionStrategy.getIndex()): xsResolutionBinList = EDUtilsTable.getListsFromTable(xsTableStatisticalPrediction, "resolution_bin") xsDataStatisticalPrediction = XSDataBestStatisticalPrediction() for xsResolutionBinItemList in xsResolutionBinList: xsDataResolutionBin = self.resolutionBinItemListToResolutionBin(xsResolutionBinItemList) xsDataStatisticalPrediction.addResolutionBin(xsDataResolutionBin) xsDataBestCollectionPlan.setStatisticalPrediction(xsDataStatisticalPrediction) xsDataBestCollectionPlan.setCollectionPlanNumber(XSDataInteger(iCollectionPlanNumber)) xsDataResultBest.addCollectionPlan(xsDataBestCollectionPlan) iCollectionPlanNumber = iCollectionPlanNumber + 1 # Fix the order of the collection plans - then low resolution pass should be the first one listCollectionPlan = xsDataResultBest.getCollectionPlan() if (len(listCollectionPlan) > 1): bIsModified = False for xsDataCollectionPlan in listCollectionPlan: xsDataStrategySummary = xsDataCollectionPlan.getStrategySummary() strReasoning = xsDataStrategySummary.getResolutionReasoning().getValue() if (strReasoning.find("Low-resolution") != -1) and (xsDataCollectionPlan.getCollectionPlanNumber().getValue() != 1): listCollectionPlan.remove(xsDataCollectionPlan) listCollectionPlan.insert(0, xsDataCollectionPlan) bIsModified = True if (bIsModified): iCollectionPlanNumber = 1 for xsDataCollectionPlan in listCollectionPlan: xsDataCollectionPlan.setCollectionPlanNumber(XSDataInteger(iCollectionPlanNumber)) iCollectionPlanNumber = iCollectionPlanNumber + 1 return xsDataResultBest