Exemplo n.º 1
0
 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")
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
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'])
Exemplo n.º 5
0
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'])
Exemplo n.º 6
0
 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
Exemplo n.º 7
0
    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()
Exemplo n.º 8
0
                          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()
Exemplo n.º 9
0
        # 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()