def test_set_target_speed(mock_inverter, expected): """Test behavior of fridge when current speed matches set speed.""" fridge = Fridge(mock_inverter) fridge.set_target_speed(expected) mock_inverter.set_target_speed.assert_called_once_with(expected)
def test_set_target_speed(mock_inverter): """Test outgoing command called with correct parameter.""" fridge = Fridge(mock_inverter) fridge.set_target_speed(1000) mock_inverter.set_target_speed.assert_called_once_with(1000)
def test_raises_exception_when_temp_too_low(): """Checks if exception is raised if Fridge class is instantiated with temp below 1.""" with pytest.raises(ValueError, message="Ice cream or beer Sir?"): wrong_temp_fridge = Fridge("INV2401PH", temp=0)
def loaded_fridge_param(request): """Create Fridge object for testing with adjustable attributes.""" inverter, load, temp, base_speed = request.param _fridge = Fridge(inverter, load, temp, base_speed) return _fridge
def test_raises_exception_if_curr_spd_not_target(mock_inverter): """Test behavior of fridge when current speed differs from set speed.""" with pytest.raises(ValueError, message="Unable to confirm fan speed change."): fridge = Fridge(mock_inverter) fridge.set_target_speed(1500)
def test_can_make_recipes(self): recipe = Recipe() recipe.ingredients.append(Ingredient('peanut butter', None, '5 tablespoons')) recipe.ingredients.append(Ingredient('bread', None, '2 slices')) recipe.ingredients.append(Ingredient('jelly', None, '5 tablespoons')) fridge = Fridge() fridge.ingredients['peanut butter'] = Ingredient('peanut butter', None, '1 jar') fridge.ingredients['bread'] = Ingredient('bread', None, '1 loaf') self.assertFalse(fridge.can_make_recipe(recipe)) fridge.ingredients['jelly'] = Ingredient('jelly', None, '1 jar') self.assertTrue(fridge.can_make_recipe(recipe))
def test_get_missing_ingredients(self): recipe = Recipe() recipe.ingredients.append(Ingredient('peanut butter', None, '5 tablespoons')) recipe.ingredients.append(Ingredient('bread', None, '2 slices')) recipe.ingredients.append(Ingredient('jelly', None, '5 tablespoons')) fridge = Fridge() missing_ingredients = fridge.get_missing_ingredients(recipe) self.assertEqual(missing_ingredients, ['peanut butter', 'bread', 'jelly']) fridge.ingredients['peanut butter'] = Ingredient('peanut butter', None, '1 jar') missing_ingredients = fridge.get_missing_ingredients(recipe) self.assertEqual(missing_ingredients, ['bread', 'jelly']) fridge.ingredients['bread'] = Ingredient('bread', None, '1 loaf') missing_ingredients = fridge.get_missing_ingredients(recipe) self.assertEqual(missing_ingredients, ['jelly']) fridge.ingredients['jelly'] = Ingredient('jelly', None, '1 jar') missing_ingredients = fridge.get_missing_ingredients(recipe) self.assertEqual(missing_ingredients, [])
from fridge import Fridge if __name__ == '__main__': fridge = Fridge()
from fridge import Fridge from detector import Detector from electronics import Electronics from absorber import Absorber from simulated_noise import simulate_noise from scipy.optimize import minimize import numpy as np import matplotlib.pyplot as plt fSnolab = Fridge("SNOLAB", 20e-3, 145e-3, 900e-3, 4.8, 0) absorber = Absorber("Si", 1e-3, 38.1e-3, 3e-3, 2.329e3) eSnolab = Electronics(fSnolab, fSnolab.get_TCP(), fSnolab.get_TMC()) eSLAC = Electronics(fSnolab, fSnolab.get_TMC(), fSnolab.get_TMC(), 5e-3, 6e-3, 25e-9, 25e-9, 4e-12) # Name, fridge, absorber, n_channel PD2 = Detector("PD2", fSnolab, eSLAC, absorber, 1) simulate_noise(PD2) #print(a) h_fin = 600e-9 def main_func(TES_L, fin_L, overlap_L): #l_TES, l_fin, l_overlap = params #n_TES = 1185 #l_overlap = 15e-6 # TES number is garbage because will be set later. det = Detector("PD2", fSnolab, eSLAC, absorber, 1, 69, TES_L, fin_L, h_fin, overlap_L) return simulate_noise(det)
def loaded_fridge(): """Create Fridge object for testing.""" _fridge = Fridge("INV4403PH", load=10, temp=10, base_speed=1000) return _fridge
def __init__(self): ##User Interaction #Gui self.hideGuiList = False #Show the consumers in the gui self.enableRFID = False #Enable RFID Reading self.allowHiding = False #Allow a user to hide from the gui consumer list self.onlyOneDrink = False #Hide selection for amount in the gui self.drinkLimit = 20 #Max amount of consumptions in the gui (default 20) #Web Interface self.disableWebIF = False #Disable Web Interface self.disableStats = False #Disable All Statistics ##Payment Incentives #Money Limit self.autoBlack = True #Automatically block user if money owed > limit self.autoUnblack = True #Automatically unblock user if money owed < limit self.blockLimit = 150 #Money limit for automatic blocking (default 150) #Mail Spam self.autoAnnoy = False #Automatically send payment eMails self.annoyDays = 20 #Automatically send mails every x days (default 20) self.annoyLimit = 100 #Money limit for autoAnnoy (default 100) ##Email #Login data and server self.SMTPserver = "smtp.gmail.com:587" #Mailserver URL self.mailUsername = "******" #Username for the mailserver self.mailPassword = "******" #Password for the User on the mailserver self.mailFromName = "*****@*****.**" #From filed in mail header #Standard Texts self.singleMessageStandardSubject = u"Baroness - Bierrechnung" self.singleMessageStandardText = u"Hallo %%longname%%\ndu hast %%dept%%€ Schulden.\nBitte überweise diesen Betrag an das Konto:\n\n%%if_is_black%%Weil du zu hohe Schulden hast, bist du geschwärzt%%end_if_is_black%%\nLiebe Grüße,\nDein Bierbaron" self.masMessageStandardSubject = u"Baroness - Bierrechnung" self.masMessageStandardText = u"Hallo %%longname%%\ndu hast %%dept%%€ Schulden.\nBitte überweise diesen Betrag an das Konto:\n\n%%if_is_black%%Weil du zu hohe Schulden hast, bist du geschwärzt%%end_if_is_black%%\nLiebe Grüße,\nDein Bierbaron" ##Data Logging #Fridge Temperature self.fridgeLogging = False #Log the fridge temperature (connect temp. sensors before enabling) self.fridgeTime = 300 #Write fridge temp to file every x seconds self.fridgeLength = 30 #Length of data log span in days ##Developer Settings self.debug = False #Show debug output in console ##Data Logging - Fridges self.fridges = list() #Do not edit #Create an antialcoholic fridge (Antikühlschrank) with 3 sensors (top, middle and bottom temp.) new_f = Fridge("Antikühlschrank") #make new fridge new_f.add_sensor(Sensor("Temperatur Oben", "1")) #add sensor 1 as top new_f.add_sensor(Sensor("Temperatur Mitte", "2")) #add sensor 2 as middle new_f.add_sensor(Sensor("Temperatur Unten", "3")) #add sensor 3 as bottom self.fridges.append(new_f) #append to the list of fridges #Create an alcoholic fridge with 3 sensors #add more fridges as you like new_f = Fridge("Bierkühlschrank") new_f.add_sensor(Sensor("Temperatur Oben", "4")) new_f.add_sensor(Sensor("Temperatur Mitte", "5")) new_f.add_sensor(Sensor("Temperatur Unten", "6")) self.fridges.append(new_f)