def test_gap_fill_greater_than_threshold(self):
     """
     Test the gap fill function, with a set of scores where the gaps are
     greater than threshold to apply gap filling
     """
     
     key_reactions=["A","B","C","D","E","G"]
     reaction_scores={ "A": 1, "B": 2 , "C": 2, "D": 1}
     
     gap_filled_reaction_scores=modules.gap_fill(key_reactions, reaction_scores)
     
     self.assertDictEqual(gap_filled_reaction_scores, reaction_scores)
 def test_gap_fill_zero_gaps(self):
     """
     Test the gap fill function, with a set of scores that do not have gaps
     Test for boost of lowest score
     """
     
     key_reactions=["A","B"]
     reaction_scores={ "A": 1, "B": 2 }
     
     gap_filled_reaction_scores=modules.gap_fill(key_reactions, reaction_scores)
     expected_gap_filled_reaction_scores={ "A": 2, "B": 2 }
     
     self.assertDictEqual(gap_filled_reaction_scores, expected_gap_filled_reaction_scores)
 def test_gap_fill_all_required_two_lowest_scores(self):
     """
     Test the gap fill function, with a set of scores of all required reactions
     Test the lowest score is boosted
     Test the two lowest scores are unchanged
     """
     
     key_reactions=["A","B","C","D","E"]
     reaction_scores={ "A": 1, "B": 2 , "C": 2, "D": 0.1, "E": 0.1}
     
     gap_filled_reaction_scores=modules.gap_fill(key_reactions, reaction_scores)
     
     self.assertDictEqual(gap_filled_reaction_scores, reaction_scores)
 def test_gap_fill_optional_reactions_greater_than_threshold(self):
     """
     Test the gap fill function, with a set of scores that include optional reactions
     where just considering the required reactions the gaps are greater than the threshold
     for gap filling
     Test with a minimum score lower for all reactions that the required reactions
     """
     
     key_reactions=["A","B","C","D","E","G"]
     reaction_scores={ "A": 1, "B": 2 , "C": 2, "D": 1, "F": 0.1}
     
     gap_filled_reaction_scores=modules.gap_fill(key_reactions, reaction_scores)
     
     self.assertDictEqual(gap_filled_reaction_scores, reaction_scores)
 def test_gap_fill_optional_reactions_zero_gaps(self):
     """
     Test the gap fill function, with a set of scores that include optional reactions
     where just considering the required reactions it does not require gap filling
     Test boost lowest abundance score of key reactions
     """
     
     key_reactions=["A","B"]
     reaction_scores={ "A": 1, "B": 2 , "E": 0.1}
     
     gap_filled_reaction_scores=modules.gap_fill(key_reactions, reaction_scores)
     expected_gap_filled_reaction_scores={ "A": 2, "B": 2 , "E": 0.1}
     
     self.assertDictEqual(gap_filled_reaction_scores, expected_gap_filled_reaction_scores)
 def test_gap_fill_equal_threshold(self):
     """
     Test the gap fill function, with a set of scores where the gaps equal the
     threshold to apply gap filling
     """
     
     key_reactions=["A","B","C","D","E"]
     reaction_scores={ "A": 1, "B": 2 , "C": 2, "D": 1}
     
     expected_result={ "A": 1, "B": 2 , "C": 2, "D": 1, "E": 1}
     
     gap_filled_reaction_scores=modules.gap_fill(key_reactions, reaction_scores)
     
     self.assertDictEqual(gap_filled_reaction_scores, expected_result)
 def test_gap_fill_all_required_reactions_one_optional(self):
     """
     Test the gap fill function, with a set of scores of all required reactions
     Test the lowest score is boosted
     Test the optional reaction is not boosted
     """
     
     key_reactions=["A","B","C","D","E"]
     reaction_scores={ "A": 1, "B": 2 , "C": 2, "D": 1, "E": 0.1, "F": 0.1}
     
     gap_filled_reaction_scores=modules.gap_fill(key_reactions, reaction_scores)
     
     expected_reaction_scores={ "A": 1, "B": 2 , "C": 2, "D": 1, "E": 1, "F": 0.1}
     
     self.assertDictEqual(gap_filled_reaction_scores, expected_reaction_scores)