def test_remove_drink_using_copy(self): """ Test removing a drink from the database using a copy of the drink. """ drink = self._create_random_drink() self.assertNotIn(drink, self.db, "New drink should be unique") self.db.add(drink) self.assertIn(drink, self.db, "New drink should be added") copy = Drink() copy.id = drink.id self.db.remove(copy) self.assertNotIn(drink, self.db, "Drink should no longer be present")
def _create_random_drink(self): drink = Drink() drink.name = "".join([chr(self.random.randint(ord('a'), ord('z'))) for _ in range(0, self.random.randint(8, 30))]) drink.alc_perc = self.random.random() drink.color = (self.random.randint(0, 255), self.random.randint(0, 255), self.random.randint(0, 255)) drink.price_factor = self.random.random() * 2 drink.unit_amount = self.random.randint(100, 1000) drink.unit_price = self.random.random() * 4 return drink
def add_drink(self): d = Drink() master = Tk() drink_dialog(master, d) master.wait_window() if master.save_drink: # Do not modify listbox yet, wait for incoming update #self.drinks.append(d) self.master.conn.database.add(d)
def self_test(): """ Perform a self test. """ drink = Drink() import time import subprocess import random t = time.time() val = 1.5 for _ in range(0, 100): drink.add_price_history(t, val) t += 60 val += float(random.randint(-5, 5))/10 if val < 0: val = 0 - val image = create_image(drink, 800, 600) image.save('test.png') subprocess.Popen(['/usr/bin/eog', 'test.png'])
def self_test(): """ Perform a self test. """ drink = Drink() import time import subprocess import random t = time.time() val = 1.5 for _ in range(0, 100): drink.add_price_history(t, val) t += 60 val += float(random.randint(-5, 5)) / 10 if val < 0: val = 0 - val image = create_image(drink, 800, 600) image.save('test.png') subprocess.Popen(['/usr/bin/eog', 'test.png'])
def setUp(self): """ Prepare some objects to perform the test on. """ self.drink = Drink("Cola") self.pargs = [3, 2.10, "bla", self.drink] self.kwargs = { "what": "that", "howmany": 3, "price": 2.10, "drink": self.drink } self.message = MethodCallMessage("myservice", "myaction", self.pargs, self.kwargs) self.message2 = MethodCallMessage("myservice", "myaction", self.pargs, self.kwargs) self.message2.id = self.message.id
def reset(self): """ Reset the database to a predefined default database. """ if debug_mode: print("Resetting database") names = ['Cola','Sinas','Cassis','7up','Safari','Bacardi lemon','Bacardi','Whiskey','Jenever','Oude Jenever'] alc_perc = [0,0,0,0,14,20,40,40,40,40] unit_price = [0.75 ,0.75, 0.75, 0.75, 3.00, 3.00 , 3.00, 4.0,2.5,3.5] color = [(0,0,0),(255,128,0),(128,0,128),(255,255,255),(255,200,0),(255,255,255),(255,255,255),(255,128,0),(255,255,255),(255,255,255)] amount = [200,200,200,200,100,40,40,40,40,40] drinks = [] for i in range(len(names)): drinks.append(Drink(name = names[i], alc_perc = alc_perc[i],unit_price = unit_price[i],color=color[i],unit_amount=amount[i])) d1 = drinks[0] d2 = drinks[6] drinks.append(Mix('Baco',[d1,d1,d1,d2])) d1 = drinks[2] d2 = drinks[4] drinks.append(Mix('Safari Cassis',[d1,d1,d1,d2])) self._internal_replace_drinks(drinks) self._store()
pady=10) self.b_save = Button(self, text="Save drink & exit", width=20, command=self.save) self.b_save.grid(row=len(self.tags) + 3, column=0) self.b_cancel = Button(self, text="Cancel", width=20, command=self.cancel) self.b_cancel.grid(row=len(self.tags) + 3, column=1) for tag in self.tags: self.__dict__["l_" + tag] = Label(self, text=tag) self.__dict__["l_" + tag].grid(row=self.tags.index(tag), column=0, sticky=E) self.__dict__["e_" + tag] = Entry(self) self.__dict__["e_" + tag].grid(row=self.tags.index(tag), column=1, sticky=EW) if __name__ == "__main__": root = Tk() d = Drink() app = drink_dialog(root, d) app.mainloop()
# f2 children self.b_add_to_mix.grid(row=0, column=0, sticky=EW) self.b_remove_from_mix.grid(row=1, column=0, sticky=EW) # end # f3 children self.l_mix.grid(row=0, column=2, sticky=EW) self.lb_mix.grid(row=1, column=2, sticky=EW, padx=20, pady=20) self.b_save.grid(row=2, column=2, sticky=EW, padx=20, pady=20) # end self.f0.grid(row=0, columnspan=3, padx=20, pady=20) self.f1.grid(row=1, column=0) self.f2.grid(row=1, column=1, sticky=EW, padx=10, pady=20) self.f3.grid(row=1, column=2) self.update_listboxes() if __name__ == "__main__": master = Tk() master.drinks = [ Drink(name="cola"), Drink(name="bacardi", alc_perc=40), Mix(name="baco1") ] d = Mix() app = mix_dialog(master, d) app.mainloop()