def test_return_number_if_decimal_number_scale(self): assert scaler.get_scale_factor( TestGetScaleFactor.make_param('0.5')) == 0.5 assert scaler.get_scale_factor( TestGetScaleFactor.make_param('.5')) == 0.5 assert scaler.get_scale_factor( TestGetScaleFactor.make_param('1.5')) == 1.5
def test_ignore_large_scales(self): assert scaler.get_scale_factor( TestGetScaleFactor.make_param('50')) == 50 assert scaler.get_scale_factor( TestGetScaleFactor.make_param('51')) == None assert scaler.get_scale_factor( TestGetScaleFactor.make_param('1000')) == None
def test_ignore_silly_scale(self): assert scaler.get_scale_factor( TestGetScaleFactor.make_param('1')) == None assert scaler.get_scale_factor( TestGetScaleFactor.make_param('0')) == None assert scaler.get_scale_factor( TestGetScaleFactor.make_param('1.0')) == None assert scaler.get_scale_factor( TestGetScaleFactor.make_param('0.0')) == None assert scaler.get_scale_factor( TestGetScaleFactor.make_param('-1')) == None assert scaler.get_scale_factor( TestGetScaleFactor.make_param('-1.0')) == None
def GET(self, name): if name.lower() != name: return web.redirect(name.lower()) response = requests.get(backendBaseUrl + 'recipes/' + name) if response.status_code == 200: recipe = response.json() scale_factor = scaler.get_scale_factor(web.input()) if scale_factor: recipe['ingredients'] = list( map(lambda i: scaler.scale_ingredient(i, scale_factor), recipe['ingredients'])) else: scale_factor = 1 return templates.recipe(recipe, scale_factor) else: raise web.notfound()
def test_return_number_if_numeric_scale(self): assert scaler.get_scale_factor(TestGetScaleFactor.make_param('2')) == 2 assert scaler.get_scale_factor(TestGetScaleFactor.make_param('5')) == 5 assert scaler.get_scale_factor( TestGetScaleFactor.make_param('20')) == 20
def test_return_nothing_if_non_numeric(self): req_params = TestGetScaleFactor.make_param('lol') assert scaler.get_scale_factor(req_params) == None
def test_return_nothing_if_no_param(self): assert scaler.get_scale_factor({}) == None