def test_process_rules_for_number_of_objects(self): r = ''' price = 350 if request.objects_num > 1: price += 150 * (request.objects_num - 1) ''' req = RequestPrice(r) resp = engine.process(req) self.assertEquals('350', resp.price) req = RequestPrice(r, objects_num=2) resp = engine.process(req) self.assertEquals('500', resp.price)
def _calculate_rule_info(self, r, r_field_name, t, calculation_ctx): raw_rule = getattr(r, r_field_name) req = RequestPrice(raw_rule, **calculation_ctx) resp = engine.process(req) return { 'rule_id': r.id, 'rule_from_tariff_id': t.id, 'rule_from_tariff_name': t.name, 'price': resp.price }
def test_process_datetime(self): r = ''' import datetime if datetime.datetime.now() >= datetime.datetime(year=2011, month=10, day=16): price = 15.50 else: price = 10 ''' req = RequestPrice(r) resp = engine.process(req) self.assertEquals('15.5', resp.price)
def test_process(self): r = 'price = 15.019' req = RequestPrice(r) resp = engine.process(req) self.assertEquals('15.019', resp.price)