Example #1
0
    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)
Example #2
0
File: brIW1.py Project: krulys/BrIW
    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
Example #3
0
    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)
Example #4
0
 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
Example #5
0
 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
Example #6
0
 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
Example #7
0
    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)
Example #8
0
 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
Example #9
0
 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
Example #10
0
    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)
Example #11
0
    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
Example #12
0
 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
Example #13
0
 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