parameters: (self, state, old_soup, new_soup)
return_statement: return new_val > 0
docstring: True if there exists a non-zero reward soup possible from new ingredients
docstring_summary: True if there exists a non-zero reward soup possible from new ingredients
docstring_tokens: True if there exists a non - zero reward soup possible from new ingredients
function: def is_potting_viable(self, state, old_soup, new_soup):
          """
          True if there exists a non-zero reward soup possible from new ingredients
          """
          new_recipe = Recipe(new_soup.ingredients)
          new_val = self.get_recipe_value(state, self.get_optimal_possible_recipe(state, new_recipe))
          return new_val > 0
function_tokens: def is_potting_viable ( self , state , old_soup , new_soup ) : new_recipe = Recipe ( new_soup . ingredients ) new_val = self . get_recipe_value ( state , self . get_optimal_possible_recipe ( state , new_recipe ) ) return new_val > 0