Skip to content

Commit

Permalink
Merge 8120333 into 8b90bf1
Browse files Browse the repository at this point in the history
  • Loading branch information
francescpuig7 committed Jun 27, 2018
2 parents 8b90bf1 + 8120333 commit a7ffa3e
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 1 deletion.
2 changes: 1 addition & 1 deletion enerdata/profiles/profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ def estimate(self, tariff, balance):
measures = [x for x in self.measures if x.valid]
start = self.start_date
end = self.end_date
cofs = self.profile_class.get_range(start, end)
cofs = self.profile_class.get_range(start, end - relativedelta(days=1))
cofs = Coefficients(cofs)
cofs_per_period = Counter()

Expand Down
50 changes: 50 additions & 0 deletions spec/coefficients/coefficients_spec.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
from enerdata.datetime import datetime
from dateutil.relativedelta import relativedelta
from enerdata.profiles.profile import *
from enerdata.datetime.station import *

ONE_MONTH_DATE_SET = ['1/2018']
DATE_SET = ['3/2018', '4/2018', '5/2018']

def get_data_ranges(start, end):
from datetime import datetime
from dateutil.relativedelta import relativedelta
cofs = []
start = datetime(start.year, start.month, 1)
end = datetime(end.year, end.month, 1)
while start <= end:
cof = '{0}/{1}'.format(start.month, start.year)
cofs.append(cof)
start += relativedelta(months=1)
return cofs


with description('Downloading coefficients '):
with it('it should not include the final month'):
coeff = REEProfile.get_range(
datetime(2018, 3, 24, 0, 0),
datetime(2018, 5, 1, 0, 0) - relativedelta(days=1)
)
assert coeff[-1].hour.month == 5

with it('Final date end of month'):
di = datetime(2018, 3, 24, 0, 0)
df = datetime(2018, 6, 1, 0, 0)
assert get_data_ranges(di, df - relativedelta(days=1)) == DATE_SET

with it('Final date between month'):
di = datetime(2018, 3, 24, 0, 0)
df = datetime(2018, 5, 15, 0, 0)
assert get_data_ranges(di, df - relativedelta(days=1)) == DATE_SET

with it('One month invoice'):
di = datetime(2018, 1, 1, 1, 0)
df = datetime(2018, 1, 31, 0, 0)
assert get_data_ranges(
di, df - relativedelta(days=1)) == ONE_MONTH_DATE_SET

with it('One day invoice'):
di = datetime(2018, 1, 1, 1, 0)
df = datetime(2018, 1, 2, 0, 0)
assert get_data_ranges(
di, df - relativedelta(days=1)) == ONE_MONTH_DATE_SET

0 comments on commit a7ffa3e

Please sign in to comment.