def test_get_date_ranges_percentage(self): result = ServicePlugin._get_date_ranges_percentage( start=datetime.date(2013, 10, 10), end=datetime.date(2013, 10, 20), service=self.service, ) self.assertEquals(result, { (datetime.date(2013, 10, 10), datetime.date(2013, 10, 15)): { 3: 30.0, 4: 70.0, }, (datetime.date(2013, 10, 16), datetime.date(2013, 10, 20)): { 3: 40.0, 4: 60.0, }, })
def test_get_date_ranges_percentage(self): result = ServicePlugin._get_date_ranges_percentage( start=datetime.date(2013, 10, 10), end=datetime.date(2013, 10, 20), service=self.service, ) self.assertEquals(result, { (datetime.date(2013, 10, 10), datetime.date(2013, 10, 15)): { 3: 30.0, 4: 70.0, }, (datetime.date(2013, 10, 16), datetime.date(2013, 10, 20)): { 3: 40.0, 4: 60.0, }, })
def test_get_date_ranges_percentage2(self): self.service = models.Service(name='Service2') self.service.save() self.service.base_usage_types.add(self.usage_type_cost_wh, self.usage_type) self.service_usage_type3 = models.UsageType( name='ServiceUsageType3', symbol='sut3', type='SU', ) self.service_usage_type3.save() # |__________||____| # |____||____||____| # |____||__________| models.ServiceUsageTypes( usage_type=self.service_usage_type1, service=self.service, start=datetime.date(2013, 10, 1), end=datetime.date(2013, 10, 20), percent=50, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type2, service=self.service, start=datetime.date(2013, 10, 1), end=datetime.date(2013, 10, 10), percent=30, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type3, service=self.service, start=datetime.date(2013, 10, 1), end=datetime.date(2013, 10, 10), percent=20, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type2, service=self.service, start=datetime.date(2013, 10, 11), end=datetime.date(2013, 10, 20), percent=10, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type3, service=self.service, start=datetime.date(2013, 10, 11), end=datetime.date(2013, 10, 30), percent=40, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type1, service=self.service, start=datetime.date(2013, 10, 21), end=datetime.date(2013, 10, 30), percent=30, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type2, service=self.service, start=datetime.date(2013, 10, 21), end=datetime.date(2013, 10, 30), percent=30, ).save() self.service.save() result = ServicePlugin._get_date_ranges_percentage( start=datetime.date(2013, 10, 5), end=datetime.date(2013, 10, 25), service=self.service, ) self.assertEquals( result, { (datetime.date(2013, 10, 5), datetime.date(2013, 10, 10)): { 3: 50.0, 4: 30.0, 5: 20.0, }, (datetime.date(2013, 10, 11), datetime.date(2013, 10, 20)): { 3: 50.0, 4: 10.0, 5: 40.0, }, (datetime.date(2013, 10, 21), datetime.date(2013, 10, 25)): { 3: 30.0, 4: 30.0, 5: 40.0, }, })
def test_get_date_ranges_percentage2(self): self.service = models.Service( name='Service2' ) self.service.save() self.service.base_usage_types.add( self.usage_type_cost_wh, self.usage_type ) self.service_usage_type3 = models.UsageType( name='ServiceUsageType3', symbol='sut3', type='SU', ) self.service_usage_type3.save() # |__________||____| # |____||____||____| # |____||__________| models.ServiceUsageTypes( usage_type=self.service_usage_type1, service=self.service, start=datetime.date(2013, 10, 1), end=datetime.date(2013, 10, 20), percent=50, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type2, service=self.service, start=datetime.date(2013, 10, 1), end=datetime.date(2013, 10, 10), percent=30, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type3, service=self.service, start=datetime.date(2013, 10, 1), end=datetime.date(2013, 10, 10), percent=20, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type2, service=self.service, start=datetime.date(2013, 10, 11), end=datetime.date(2013, 10, 20), percent=10, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type3, service=self.service, start=datetime.date(2013, 10, 11), end=datetime.date(2013, 10, 30), percent=40, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type1, service=self.service, start=datetime.date(2013, 10, 21), end=datetime.date(2013, 10, 30), percent=30, ).save() models.ServiceUsageTypes( usage_type=self.service_usage_type2, service=self.service, start=datetime.date(2013, 10, 21), end=datetime.date(2013, 10, 30), percent=30, ).save() self.service.save() result = ServicePlugin._get_date_ranges_percentage( start=datetime.date(2013, 10, 5), end=datetime.date(2013, 10, 25), service=self.service, ) self.assertEquals(result, { (datetime.date(2013, 10, 5), datetime.date(2013, 10, 10)): { 3: 50.0, 4: 30.0, 5: 20.0, }, (datetime.date(2013, 10, 11), datetime.date(2013, 10, 20)): { 3: 50.0, 4: 10.0, 5: 40.0, }, (datetime.date(2013, 10, 21), datetime.date(2013, 10, 25)): { 3: 30.0, 4: 30.0, 5: 40.0, }, })