def test_make_a_person_with_a_fav_drink(self): expected_name, expected_drink = "Brad", Drink("milkshake") expected_person = Person(expected_name, expected_drink) actual_person = Person("brad", Drink("milkshake")) self.assertEqual(expected_person, actual_person)
def take_list_input(list_to_update, update_preferences=False): updated = False while True: item = input().strip().capitalize() if item == "": break if len(item) > max_table_width - 6: print( f"Item not added - cannot be more than {max_table_width-6} characters. Try again." ) else: if update_preferences: try: list_to_update.add_person(Person(item, Drink(""))) except Exception as e: print(str(e)) print("\nHit ENTER to return to menu") break else: list_to_update.add_drink(Drink(item)) updated = True os.system("clear") print( f"{item} successfully added. Enter another or hit ENTER to return to menu." ) os.system("clear") return list_to_update, updated
def test_change_fav_drink_for_person(self): expected_person = Person("Meatloaf", Drink("Orange Juice")) actual_person = Person("Meatloaf", Drink("Hot chocolate")) actual_person.favourite_drink = Drink("Orange juice") self.assertEqual(expected_person, actual_person)
def get_drink(drink_id): drink = Drink("") try: result = DbManager.execute_select( "SELECT drink_name, temperature FROM drinks WHERE drink_id=%s", (drink_id))[0] # Only one result to be returned. drink = Drink(result[0], result[1]) except Exception as e: print(e) return drink
def get_drinks_from_file(self): drinks = Drinks() rows = FileManager.read_file(self) for row in rows: new_row = [x.strip() for x in row.split(',')] drinks.add_drink(Drink(new_row[0])) return drinks
def get_people_from_file(self): people = People() rows = FileManager.read_file(self) for row in rows: new_row = [x.strip() for x in row.split(',')] people.add_person(Person(new_row[0], Drink(new_row[1]))) return people
def test_make_a_person_with_no_fav_drink(self): expected_name, expected_drink = "Janet", Drink("") person = Person("janet") self.assertEqual(expected_name, person.name) self.assertEqual(expected_drink, person.favourite_drink)
def __init__(self, name, fav_drink=Drink("")): self.name = name.strip().capitalize() if not isinstance(fav_drink, Drink): raise TypeError( f"Expected Drink object for favourite drink, received {type(fav_drink)}" ) self.favourite_drink = fav_drink
def get_person(person_id): person = Person("") query = "SELECT person_name, drink_name FROM people JOIN drinks ON favourite_drink_id = drink_id WHERE person_id=%s" try: results = DbManager.execute_select(query, (person_id)) person = Person(results[0], Drink(results[1])) except Exception as e: print(e) return person
def test_make_empty_person(self): # Arrange expected_name, expected_drink = "", Drink("") # Act person = Person("") # Assert self.assertEqual(expected_name, person.name) self.assertEqual(expected_drink, person.favourite_drink)
def get_drinks_from_db(self): drinks = Drinks() try: results = FileManager.execute_query( self, "SELECT drink_name FROM drinks") for row in results: print(row) drinks.add_drink(Drink(row[0])) except Exception as e: # TODO: improve this sad message print("Something went wrong...") print(e) return drinks
def get_all_drinks(): drinks = [] try: results = DbManager.execute_select( "SELECT drink_name, temperature FROM drinks") for row in results: print(row) drinks.append(Drink(row[0], temp=row[1])) except Exception as e: # TODO: improve this sad message print( "Something went wrong getting all drinks from the database...") print(e) return drinks
def get_all_people(): people = [] try: results = DbManager.execute_select( "SELECT person_name, drink_name FROM people LEFT JOIN drinks ON people.favourite_drink_id=drinks.drink_id" ) for row in results: # print(row) people.append(Person(row[0], Drink(row[1]))) except Exception as e: # TODO: improve this sad message print( "Something went wrong getting all people from the database...") print(e) return people