From 87095a0845e148d10d5235564ddddabf0ad4f9b9 Mon Sep 17 00:00:00 2001
From: Mark Driver <mdd31@cam.ac.uk>
Date: Fri, 7 Jul 2017 10:38:16 +0100
Subject: [PATCH] updated function to produce information for all orders.

---
 .../polynomialanalysis/polynomialdataanalysis.py     | 12 ++++++++----
 .../polynomialdataanalysistest.py                    |  2 +-
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/solventmapcreator/polynomialanalysis/polynomialdataanalysis.py b/solventmapcreator/polynomialanalysis/polynomialdataanalysis.py
index c289ae9..27ce82f 100644
--- a/solventmapcreator/polynomialanalysis/polynomialdataanalysis.py
+++ b/solventmapcreator/polynomialanalysis/polynomialdataanalysis.py
@@ -24,15 +24,19 @@ def get_total_sorted_by_alt_metric(full_order_list, best_order_sorted_dict):
     for i in range(len(full_order_list)):
         order = full_order_list[i]
         order_info = []
-        for j in range(len(order_tuple)):
+        for j in range(len(full_order_list)):
+            
             sorted_dict_order = full_order_list[j]
-            if order in best_order_sorted_dict[sorted_dict_order].keys():
-                order_info.append(len(best_order_sorted_dict[sorted_dict_order][order]))
+            if sorted_dict_order in best_order_sorted_dict.keys():
+                if order in best_order_sorted_dict[sorted_dict_order].keys():
+                    order_info.append(len(best_order_sorted_dict[sorted_dict_order][order]))
+                else:
+                    order_info.append(0)
             else:
                 order_info.append(0)
         numbers_by_order.append(tuple(order_info))
     numbers_by_order_tuple = tuple(numbers_by_order)
-    return (order_tuple, numbers_by_order_tuple)
+    return (tuple(full_order_list), numbers_by_order_tuple)
 
 def get_total_by_fit_order(best_order_dict):
     """This returns a tuple containing the order, and also the number of
diff --git a/solventmapcreator/test/polynomialanalysistest/polynomialdataanalysistest.py b/solventmapcreator/test/polynomialanalysistest/polynomialdataanalysistest.py
index 3e1927d..a525d85 100644
--- a/solventmapcreator/test/polynomialanalysistest/polynomialdataanalysistest.py
+++ b/solventmapcreator/test/polynomialanalysistest/polynomialdataanalysistest.py
@@ -55,7 +55,7 @@ class PolynomialDataAnalysisTestCase(unittest.TestCase):
         rmse_solvent_id_dict = polynomialdataanalysis.get_solvent_id_by_order(self.rmse_dict)
         covar_solvent_id_dict = polynomialdataanalysis.get_solvent_id_by_order(self.covar_dict)
         ordered_id_dict = polynomialdataanalysis.generate_lists_by_alt_metric(rmse_solvent_id_dict, covar_solvent_id_dict)
-        expected_tuple = ((1,),((1,),(1,)))
+        expected_tuple = ((1, 2),((1, 0),(1, 0)))
         actual_tuple = polynomialdataanalysis.get_total_sorted_by_alt_metric([1, 2], ordered_id_dict)
         self.assertEqual(expected_tuple, actual_tuple)
     def test_get_total_by_fit_order(self):
-- 
GitLab