예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
 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
     }
예제 #4
0
 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
     }
예제 #5
0
    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)
예제 #6
0
    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)
예제 #7
0
 def test_process(self):
     r = 'price = 15.019'
     req = RequestPrice(r)
     resp = engine.process(req)
     self.assertEquals('15.019', resp.price)
예제 #8
0
 def test_process(self):
     r = 'price = 15.019'
     req = RequestPrice(r)
     resp = engine.process(req)
     self.assertEquals('15.019', resp.price)