# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # import unittest from datetime import datetime, timedelta import toolkit.process as process class TestNormalizeDatetimes(unittest.TestCase): def testMonthlyNormalize(self): self.annualClean = [datetime(2000, x, 1) for x in range(1, 12)] self.annualFifteenth = [datetime(2000, x, 15) for x in range(1, 12)] self.monthly = 'monthly' self.normalDates = process.normalizeDatetimes(self.annualFifteenth, self.monthly) self.assertEqual(self.normalDates, self.annualClean) def testDailyNormalize(self): self.dailyClean = [datetime(2000, 1, 1, 0, 0) + timedelta(days=x) for x in range(0, 5)] self.dailyNoonish = [datetime(2000, 1, 1, 12, 15) + timedelta(days=x) for x in range(0, 5)] self.daily = 'daily' self.normalDaily = process.normalizeDatetimes(self.dailyNoonish, self.daily) self.assertEqual(self.dailyClean, self.normalDaily) if __name__ == '__main__': unittest.main()