1.1 --- a/tests/qualifiers.py Sat May 14 00:56:54 2016 +0200
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,775 +0,0 @@
1.4 -#!/usr/bin/env python
1.5 -
1.6 -"""
1.7 -Test qualifiers for recurring events.
1.8 -
1.9 -Copyright (C) 2014, 2015 Paul Boddie <paul@boddie.org.uk>
1.10 -
1.11 -This program is free software; you can redistribute it and/or modify it under
1.12 -the terms of the GNU General Public License as published by the Free Software
1.13 -Foundation; either version 3 of the License, or (at your option) any later
1.14 -version.
1.15 -
1.16 -This program is distributed in the hope that it will be useful, but WITHOUT
1.17 -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
1.18 -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
1.19 -details.
1.20 -
1.21 -You should have received a copy of the GNU General Public License along with
1.22 -this program. If not, see <http://www.gnu.org/licenses/>.
1.23 -"""
1.24 -
1.25 -from vRecurrence import *
1.26 -
1.27 -def show(l):
1.28 - for x in l:
1.29 - print x
1.30 - print
1.31 -
1.32 -qualifiers = [
1.33 - ("YEARLY", {"interval" : 1})
1.34 - ]
1.35 -
1.36 -l = order_qualifiers(qualifiers)
1.37 -show(l)
1.38 -dt = (1997, 11, 2)
1.39 -l = get_datetime_structure(dt)
1.40 -show(l)
1.41 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.42 -show(l)
1.43 -
1.44 -s = get_selector(dt, qualifiers)
1.45 -l = s.materialise(dt, (2003, 12, 24))
1.46 -print len(l) == 7, 7, len(l)
1.47 -print l[0] == (1997, 11, 2), (1997, 11, 2), l[0]
1.48 -print l[-1] == (2003, 11, 2), (2003, 11, 2), l[-1]
1.49 -print
1.50 -
1.51 -qualifiers = [
1.52 - ("YEARLY", {"interval" : 2}),
1.53 - ("BYMONTH", {"values" : [1]}),
1.54 - ("BYDAY", {"values" : [(6, None)]}),
1.55 - ("BYHOUR", {"values" : [8, 9]}),
1.56 - ("BYMINUTE", {"values" : [30]})
1.57 - ]
1.58 -
1.59 -l = order_qualifiers(qualifiers)
1.60 -show(l)
1.61 -dt = (1997, 1, 5, 8, 30, 0)
1.62 -l = get_datetime_structure(dt)
1.63 -show(l)
1.64 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.65 -show(l)
1.66 -
1.67 -s = get_selector(dt, qualifiers)
1.68 -l = s.materialise(dt, (2003, 12, 24, 0, 0, 0))
1.69 -print len(l) == 32, 32, len(l)
1.70 -print l[0] == (1997, 1, 11, 8, 30, 0), (1997, 1, 11, 8, 30, 0), l[0]
1.71 -print l[-1] == (2003, 1, 25, 9, 30, 0), (2003, 1, 25, 9, 30, 0), l[-1]
1.72 -print
1.73 -
1.74 -qualifiers = [
1.75 - ("DAILY", {"interval" : 1})
1.76 - ]
1.77 -
1.78 -l = order_qualifiers(qualifiers)
1.79 -show(l)
1.80 -dt = (1997, 9, 2, 9, 0, 0)
1.81 -l = get_datetime_structure(dt)
1.82 -show(l)
1.83 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.84 -show(l)
1.85 -
1.86 -s = get_selector(dt, qualifiers)
1.87 -l = s.materialise(dt, (1997, 12, 24), 10)
1.88 -print len(l) == 10, 10, len(l)
1.89 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.90 -print l[-1] == (1997, 9, 11, 9, 0, 0), (1997, 9, 11, 9, 0, 0), l[-1]
1.91 -print
1.92 -
1.93 -qualifiers = [
1.94 - ("DAILY", {"interval" : 1})
1.95 - ]
1.96 -
1.97 -l = order_qualifiers(qualifiers)
1.98 -show(l)
1.99 -dt = (1997, 9, 2, 9, 0, 0)
1.100 -l = get_datetime_structure(dt)
1.101 -show(l)
1.102 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.103 -show(l)
1.104 -
1.105 -s = get_selector(dt, qualifiers)
1.106 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.107 -print len(l) == 113, 113, len(l)
1.108 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.109 -print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.110 -print
1.111 -
1.112 -qualifiers = [
1.113 - ("DAILY", {"interval" : 2})
1.114 - ]
1.115 -
1.116 -l = order_qualifiers(qualifiers)
1.117 -show(l)
1.118 -dt = (1997, 9, 2, 9, 0, 0)
1.119 -l = get_datetime_structure(dt)
1.120 -show(l)
1.121 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.122 -show(l)
1.123 -
1.124 -s = get_selector(dt, qualifiers)
1.125 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.126 -print len(l) == 57, 57, len(l)
1.127 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.128 -print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.129 -print
1.130 -
1.131 -qualifiers = [
1.132 - ("WEEKLY", {"interval" : 1})
1.133 - ]
1.134 -
1.135 -l = order_qualifiers(qualifiers)
1.136 -show(l)
1.137 -dt = (1997, 9, 2, 9, 0, 0)
1.138 -l = get_datetime_structure(dt)
1.139 -show(l)
1.140 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.141 -show(l)
1.142 -
1.143 -s = get_selector(dt, qualifiers)
1.144 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.145 -print len(l) == 17, 17, len(l)
1.146 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.147 -print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.148 -print
1.149 -
1.150 -qualifiers = [
1.151 - ("DAILY", {"interval" : 10})
1.152 - ]
1.153 -
1.154 -l = order_qualifiers(qualifiers)
1.155 -show(l)
1.156 -dt = (1997, 9, 2, 9, 0, 0)
1.157 -l = get_datetime_structure(dt)
1.158 -show(l)
1.159 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.160 -show(l)
1.161 -
1.162 -s = get_selector(dt, qualifiers)
1.163 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0), 5)
1.164 -print len(l) == 5, 5, len(l)
1.165 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.166 -print l[-1] == (1997, 10, 12, 9, 0, 0), (1997, 10, 12, 9, 0, 0), l[-1]
1.167 -print
1.168 -
1.169 -qualifiers = [
1.170 - ("YEARLY", {"interval" : 1}),
1.171 - ("BYMONTH", {"values" : [1]}),
1.172 - ("BYDAY", {"values" : [(1, None), (2, None), (3, None), (4, None), (5, None), (6, None), (7, None)]})
1.173 - ]
1.174 -
1.175 -l = order_qualifiers(qualifiers)
1.176 -show(l)
1.177 -dt = (1998, 1, 1, 9, 0, 0)
1.178 -l = get_datetime_structure(dt)
1.179 -show(l)
1.180 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.181 -show(l)
1.182 -
1.183 -s = get_selector(dt, qualifiers)
1.184 -l = s.materialise(dt, (2000, 1, 31, 14, 0, 0))
1.185 -print len(l) == 93, 93, len(l)
1.186 -print l[0] == (1998, 1, 1, 9, 0, 0), (1998, 1, 1, 9, 0, 0), l[0]
1.187 -print l[-1] == (2000, 1, 31, 9, 0, 0), (2000, 1, 31, 9, 0, 0), l[-1]
1.188 -print
1.189 -
1.190 -qualifiers = [
1.191 - ("DAILY", {"interval" : 1}),
1.192 - ("BYMONTH", {"values" : [1]})
1.193 - ]
1.194 -
1.195 -l = order_qualifiers(qualifiers)
1.196 -show(l)
1.197 -dt = (1998, 1, 1, 9, 0, 0)
1.198 -l = get_datetime_structure(dt)
1.199 -show(l)
1.200 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.201 -show(l)
1.202 -
1.203 -s = get_selector(dt, qualifiers)
1.204 -l = s.materialise(dt, (2000, 1, 31, 14, 0, 0))
1.205 -print len(l) == 93, 93, len(l)
1.206 -print l[0] == (1998, 1, 1, 9, 0, 0), (1998, 1, 1, 9, 0, 0), l[0]
1.207 -print l[-1] == (2000, 1, 31, 9, 0, 0), (2000, 1, 31, 9, 0, 0), l[-1]
1.208 -print
1.209 -
1.210 -qualifiers = [
1.211 - ("WEEKLY", {"interval" : 1})
1.212 - ]
1.213 -
1.214 -l = order_qualifiers(qualifiers)
1.215 -show(l)
1.216 -dt = (1997, 9, 2, 9, 0, 0)
1.217 -l = get_datetime_structure(dt)
1.218 -show(l)
1.219 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.220 -show(l)
1.221 -
1.222 -s = get_selector(dt, qualifiers)
1.223 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0), 10)
1.224 -print len(l) == 10, 10, len(l)
1.225 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.226 -print l[-1] == (1997, 11, 4, 9, 0, 0), (1997, 11, 4, 9, 0, 0), l[-1]
1.227 -print
1.228 -
1.229 -qualifiers = [
1.230 - ("WEEKLY", {"interval" : 1})
1.231 - ]
1.232 -
1.233 -l = order_qualifiers(qualifiers)
1.234 -show(l)
1.235 -dt = (1997, 9, 2, 9, 0, 0)
1.236 -l = get_datetime_structure(dt)
1.237 -show(l)
1.238 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.239 -show(l)
1.240 -
1.241 -s = get_selector(dt, qualifiers)
1.242 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.243 -print len(l) == 17, 17, len(l)
1.244 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.245 -print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.246 -print
1.247 -
1.248 -qualifiers = [
1.249 - ("WEEKLY", {"interval" : 2})
1.250 - ]
1.251 -
1.252 -l = order_qualifiers(qualifiers)
1.253 -show(l)
1.254 -dt = (1997, 9, 2, 9, 0, 0)
1.255 -l = get_datetime_structure(dt)
1.256 -show(l)
1.257 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.258 -show(l)
1.259 -
1.260 -s = get_selector(dt, qualifiers)
1.261 -l = s.materialise(dt, (1998, 2, 20, 0, 0, 0))
1.262 -print len(l) == 13, 13, len(l)
1.263 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.264 -print l[-1] == (1998, 2, 17, 9, 0, 0), (1998, 2, 17, 9, 0, 0), l[-1]
1.265 -print
1.266 -
1.267 -qualifiers = [
1.268 - ("WEEKLY", {"interval" : 1}),
1.269 - ("BYDAY", {"values" : [(2, None), (4, None)]})
1.270 - ]
1.271 -
1.272 -l = order_qualifiers(qualifiers)
1.273 -show(l)
1.274 -dt = (1997, 9, 2, 9, 0, 0)
1.275 -l = get_datetime_structure(dt)
1.276 -show(l)
1.277 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.278 -show(l)
1.279 -
1.280 -s = get_selector(dt, qualifiers)
1.281 -l = s.materialise(dt, (1997, 10, 7, 9, 0, 0))
1.282 -print len(l) == 10, 10, len(l)
1.283 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.284 -print l[-1] == (1997, 10, 2, 9, 0, 0), (1997, 10, 2, 9, 0, 0), l[-1]
1.285 -print
1.286 -
1.287 -qualifiers = [
1.288 - ("WEEKLY", {"interval" : 1}),
1.289 - ("BYDAY", {"values" : [(2, None), (4, None)]})
1.290 - ]
1.291 -
1.292 -l = order_qualifiers(qualifiers)
1.293 -show(l)
1.294 -dt = (1997, 9, 2, 9, 0, 0)
1.295 -l = get_datetime_structure(dt)
1.296 -show(l)
1.297 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.298 -show(l)
1.299 -
1.300 -s = get_selector(dt, qualifiers)
1.301 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0), 10)
1.302 -print len(l) == 10, 10, len(l)
1.303 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.304 -print l[-1] == (1997, 10, 2, 9, 0, 0), (1997, 10, 2, 9, 0, 0), l[-1]
1.305 -print
1.306 -
1.307 -qualifiers = [
1.308 - ("WEEKLY", {"interval" : 2}),
1.309 - ("BYDAY", {"values" : [(1, None), (3, None), (5, None)]})
1.310 - ]
1.311 -
1.312 -l = order_qualifiers(qualifiers)
1.313 -show(l)
1.314 -dt = (1997, 9, 1, 9, 0, 0)
1.315 -l = get_datetime_structure(dt)
1.316 -show(l)
1.317 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.318 -show(l)
1.319 -
1.320 -s = get_selector(dt, qualifiers)
1.321 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.322 -print len(l) == 25, 25, len(l)
1.323 -print l[0] == (1997, 9, 1, 9, 0, 0), (1997, 9, 1, 9, 0, 0), l[0]
1.324 -print l[-1] == (1997, 12, 22, 9, 0, 0), (1997, 12, 22, 9, 0, 0), l[-1]
1.325 -print
1.326 -
1.327 -qualifiers = [
1.328 - ("WEEKLY", {"interval" : 2}),
1.329 - ("BYDAY", {"values" : [(2, None), (4, None)]})
1.330 - ]
1.331 -
1.332 -l = order_qualifiers(qualifiers)
1.333 -show(l)
1.334 -dt = (1997, 9, 2, 9, 0, 0)
1.335 -l = get_datetime_structure(dt)
1.336 -show(l)
1.337 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.338 -show(l)
1.339 -
1.340 -s = get_selector(dt, qualifiers)
1.341 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0), 8)
1.342 -print len(l) == 8, 8, len(l)
1.343 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.344 -print l[-1] == (1997, 10, 16, 9, 0, 0), (1997, 10, 16, 9, 0, 0), l[-1]
1.345 -print
1.346 -
1.347 -qualifiers = [
1.348 - ("MONTHLY", {"interval" : 1}),
1.349 - ("BYDAY", {"values" : [(5, 1)]})
1.350 - ]
1.351 -
1.352 -l = order_qualifiers(qualifiers)
1.353 -show(l)
1.354 -dt = (1997, 9, 5, 9, 0, 0)
1.355 -l = get_datetime_structure(dt)
1.356 -show(l)
1.357 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.358 -show(l)
1.359 -
1.360 -s = get_selector(dt, qualifiers)
1.361 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0), 10)
1.362 -print len(l) == 10, 10, len(l)
1.363 -print l[0] == (1997, 9, 5, 9, 0, 0), (1997, 9, 5, 9, 0, 0), l[0]
1.364 -print l[-1] == (1998, 6, 5, 9, 0, 0), (1998, 6, 5, 9, 0, 0), l[-1]
1.365 -print
1.366 -
1.367 -qualifiers = [
1.368 - ("MONTHLY", {"interval" : 1}),
1.369 - ("BYDAY", {"values" : [(5, 1)]})
1.370 - ]
1.371 -
1.372 -l = order_qualifiers(qualifiers)
1.373 -show(l)
1.374 -dt = (1997, 9, 5, 9, 0, 0)
1.375 -l = get_datetime_structure(dt)
1.376 -show(l)
1.377 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.378 -show(l)
1.379 -
1.380 -s = get_selector(dt, qualifiers)
1.381 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.382 -print len(l) == 4, 4, len(l)
1.383 -print l[0] == (1997, 9, 5, 9, 0, 0), (1997, 9, 5, 9, 0, 0), l[0]
1.384 -print l[-1] == (1997, 12, 5, 9, 0, 0), (1997, 12, 5, 9, 0, 0), l[-1]
1.385 -print
1.386 -
1.387 -qualifiers = [
1.388 - ("MONTHLY", {"interval" : 2}),
1.389 - ("BYDAY", {"values" : [(7, 1), (7, -1)]})
1.390 - ]
1.391 -
1.392 -l = order_qualifiers(qualifiers)
1.393 -show(l)
1.394 -dt = (1997, 9, 7, 9, 0, 0)
1.395 -l = get_datetime_structure(dt)
1.396 -show(l)
1.397 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.398 -show(l)
1.399 -
1.400 -s = get_selector(dt, qualifiers)
1.401 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0), 10)
1.402 -print len(l) == 10, 10, len(l)
1.403 -print l[0] == (1997, 9, 7, 9, 0, 0), (1997, 9, 7, 9, 0, 0), l[0]
1.404 -print l[-1] == (1998, 5, 31, 9, 0, 0), (1998, 5, 31, 9, 0, 0), l[-1]
1.405 -print
1.406 -
1.407 -qualifiers = [
1.408 - ("MONTHLY", {"interval" : 1}),
1.409 - ("BYDAY", {"values" : [(1, -2)]})
1.410 - ]
1.411 -
1.412 -l = order_qualifiers(qualifiers)
1.413 -show(l)
1.414 -dt = (1997, 9, 22, 9, 0, 0)
1.415 -l = get_datetime_structure(dt)
1.416 -show(l)
1.417 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.418 -show(l)
1.419 -
1.420 -s = get_selector(dt, qualifiers)
1.421 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0), 6)
1.422 -print len(l) == 6, 6, len(l)
1.423 -print l[0] == (1997, 9, 22, 9, 0, 0), (1997, 9, 22, 9, 0, 0), l[0]
1.424 -print l[-1] == (1998, 2, 16, 9, 0, 0), (1998, 2, 16, 9, 0, 0), l[-1]
1.425 -print
1.426 -
1.427 -qualifiers = [
1.428 - ("MONTHLY", {"interval" : 1}),
1.429 - ("BYMONTHDAY", {"values" : [-3]})
1.430 - ]
1.431 -
1.432 -l = order_qualifiers(qualifiers)
1.433 -show(l)
1.434 -dt = (1997, 9, 28, 9, 0, 0)
1.435 -l = get_datetime_structure(dt)
1.436 -show(l)
1.437 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.438 -show(l)
1.439 -
1.440 -s = get_selector(dt, qualifiers)
1.441 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0), 6)
1.442 -print len(l) == 6, 6, len(l)
1.443 -print l[0] == (1997, 9, 28, 9, 0, 0), (1997, 9, 28, 9, 0, 0), l[0]
1.444 -print l[-1] == (1998, 2, 26, 9, 0, 0), (1998, 2, 26, 9, 0, 0), l[-1]
1.445 -print
1.446 -
1.447 -qualifiers = [
1.448 - ("MONTHLY", {"interval" : 1}),
1.449 - ("BYMONTHDAY", {"values" : [2, 15]})
1.450 - ]
1.451 -
1.452 -l = order_qualifiers(qualifiers)
1.453 -show(l)
1.454 -dt = (1997, 9, 2, 9, 0, 0)
1.455 -l = get_datetime_structure(dt)
1.456 -show(l)
1.457 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.458 -show(l)
1.459 -
1.460 -s = get_selector(dt, qualifiers)
1.461 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0), 10)
1.462 -print len(l) == 10, 10, len(l)
1.463 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.464 -print l[-1] == (1998, 1, 15, 9, 0, 0), (1998, 1, 15, 9, 0, 0), l[-1]
1.465 -print
1.466 -
1.467 -qualifiers = [
1.468 - ("MONTHLY", {"interval" : 1}),
1.469 - ("BYMONTHDAY", {"values" : [1, -1]})
1.470 - ]
1.471 -
1.472 -l = order_qualifiers(qualifiers)
1.473 -show(l)
1.474 -dt = (1997, 9, 30, 9, 0, 0)
1.475 -l = get_datetime_structure(dt)
1.476 -show(l)
1.477 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.478 -show(l)
1.479 -
1.480 -s = get_selector(dt, qualifiers)
1.481 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0), 10)
1.482 -print len(l) == 10, 10, len(l)
1.483 -print l[0] == (1997, 9, 30, 9, 0, 0), (1997, 9, 30, 9, 0, 0), l[0]
1.484 -print l[-1] == (1998, 2, 1, 9, 0, 0), (1998, 2, 1, 9, 0, 0), l[-1]
1.485 -print
1.486 -
1.487 -qualifiers = [
1.488 - ("MONTHLY", {"interval" : 18}),
1.489 - ("BYMONTHDAY", {"values" : [10, 11, 12, 13, 14, 15]})
1.490 - ]
1.491 -
1.492 -l = order_qualifiers(qualifiers)
1.493 -show(l)
1.494 -dt = (1997, 9, 10, 9, 0, 0)
1.495 -l = get_datetime_structure(dt)
1.496 -show(l)
1.497 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.498 -show(l)
1.499 -
1.500 -s = get_selector(dt, qualifiers)
1.501 -l = s.materialise(dt, (1999, 12, 24, 0, 0, 0), 10)
1.502 -print len(l) == 10, 10, len(l)
1.503 -print l[0] == (1997, 9, 10, 9, 0, 0), (1997, 9, 10, 9, 0, 0), l[0]
1.504 -print l[-1] == (1999, 3, 13, 9, 0, 0), (1999, 3, 13, 9, 0, 0), l[-1]
1.505 -print
1.506 -
1.507 -qualifiers = [
1.508 - ("MONTHLY", {"interval" : 2}),
1.509 - ("BYDAY", {"values" : [(2, None)]})
1.510 - ]
1.511 -
1.512 -l = order_qualifiers(qualifiers)
1.513 -show(l)
1.514 -dt = (1997, 9, 2, 9, 0, 0)
1.515 -l = get_datetime_structure(dt)
1.516 -show(l)
1.517 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.518 -show(l)
1.519 -
1.520 -s = get_selector(dt, qualifiers)
1.521 -l = s.materialise(dt, (1998, 4, 1, 0, 0, 0))
1.522 -print len(l) == 18, 18, len(l)
1.523 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.524 -print l[-1] == (1998, 3, 31, 9, 0, 0), (1998, 3, 31, 9, 0, 0), l[-1]
1.525 -print
1.526 -
1.527 -qualifiers = [
1.528 - ("YEARLY", {"interval" : 1}),
1.529 - ("BYMONTH", {"values" : [6, 7]})
1.530 - ]
1.531 -
1.532 -l = order_qualifiers(qualifiers)
1.533 -show(l)
1.534 -dt = (1997, 6, 10, 9, 0, 0)
1.535 -l = get_datetime_structure(dt)
1.536 -show(l)
1.537 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.538 -show(l)
1.539 -
1.540 -s = get_selector(dt, qualifiers)
1.541 -l = s.materialise(dt, (2001, 12, 24, 0, 0, 0), 10)
1.542 -print len(l) == 10, 10, len(l)
1.543 -print l[0] == (1997, 6, 10, 9, 0, 0), (1997, 6, 10, 9, 0, 0), l[0]
1.544 -print l[-1] == (2001, 7, 10, 9, 0, 0), (2001, 7, 10, 9, 0, 0), l[-1]
1.545 -print
1.546 -
1.547 -qualifiers = [
1.548 - ("YEARLY", {"interval" : 2}),
1.549 - ("BYMONTH", {"values" : [1, 2, 3]})
1.550 - ]
1.551 -
1.552 -l = order_qualifiers(qualifiers)
1.553 -show(l)
1.554 -dt = (1997, 3, 10, 9, 0, 0)
1.555 -l = get_datetime_structure(dt)
1.556 -show(l)
1.557 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.558 -show(l)
1.559 -
1.560 -s = get_selector(dt, qualifiers)
1.561 -l = s.materialise(dt, (2003, 12, 24, 0, 0, 0), 10)
1.562 -print len(l) == 10, 10, len(l)
1.563 -print l[0] == (1997, 3, 10, 9, 0, 0), (1997, 3, 10, 9, 0, 0), l[0]
1.564 -print l[-1] == (2003, 3, 10, 9, 0, 0), (2003, 3, 10, 9, 0, 0), l[-1]
1.565 -print
1.566 -
1.567 -qualifiers = [
1.568 - ("YEARLY", {"interval" : 3}),
1.569 - ("BYYEARDAY", {"values" : [1, 100, 200]})
1.570 - ]
1.571 -
1.572 -l = order_qualifiers(qualifiers)
1.573 -show(l)
1.574 -dt = (1997, 1, 1, 9, 0, 0)
1.575 -l = get_datetime_structure(dt)
1.576 -show(l)
1.577 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.578 -show(l)
1.579 -
1.580 -s = get_selector(dt, qualifiers)
1.581 -l = s.materialise(dt, (2006, 2, 1, 0, 0, 0), 10)
1.582 -print len(l) == 10, 10, len(l)
1.583 -print l[0] == (1997, 1, 1, 9, 0, 0), (1997, 1, 1, 9, 0, 0), l[0]
1.584 -print l[-1] == (2006, 1, 1, 9, 0, 0), (2006, 1, 1, 9, 0, 0), l[-1]
1.585 -print
1.586 -
1.587 -qualifiers = [
1.588 - ("YEARLY", {"interval" : 1}),
1.589 - ("BYDAY", {"values" : [(1, 20)]})
1.590 - ]
1.591 -
1.592 -l = order_qualifiers(qualifiers)
1.593 -show(l)
1.594 -dt = (1997, 5, 19, 9, 0, 0)
1.595 -l = get_datetime_structure(dt)
1.596 -show(l)
1.597 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.598 -show(l)
1.599 -
1.600 -s = get_selector(dt, qualifiers)
1.601 -l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.602 -print len(l) == 3, 3, len(l)
1.603 -print l[0] == (1997, 5, 19, 9, 0, 0), (1997, 5, 19, 9, 0, 0), l[0]
1.604 -print l[-1] == (1999, 5, 17, 9, 0, 0), (1999, 5, 17, 9, 0, 0), l[-1]
1.605 -print
1.606 -
1.607 -"""
1.608 -qualifiers = [
1.609 - ("YEARLY", {"interval" : 1}),
1.610 - ("BYWEEKNO", {"values" : [20]}),
1.611 - ("BYDAY", {"values" : [(1, None)]})
1.612 - ]
1.613 -
1.614 -l = order_qualifiers(qualifiers)
1.615 -show(l)
1.616 -dt = (1997, 5, 12, 9, 0, 0)
1.617 -l = get_datetime_structure(dt)
1.618 -show(l)
1.619 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.620 -show(l)
1.621 -
1.622 -s = get_selector(dt, qualifiers)
1.623 -l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.624 -print len(l) == 3, 3, len(l)
1.625 -print l[0] == (1997, 5, 12, 9, 0, 0), (1997, 5, 12, 9, 0, 0), l[0]
1.626 -print l[-1] == (1999, 5, 17, 9, 0, 0), (1999, 5, 17, 9, 0, 0), l[-1]
1.627 -print
1.628 -"""
1.629 -
1.630 -qualifiers = [
1.631 - ("YEARLY", {"interval" : 1}),
1.632 - ("BYMONTH", {"values" : [3]}),
1.633 - ("BYDAY", {"values" : [(4, None)]})
1.634 - ]
1.635 -
1.636 -l = order_qualifiers(qualifiers)
1.637 -show(l)
1.638 -dt = (1997, 3, 13, 9, 0, 0)
1.639 -l = get_datetime_structure(dt)
1.640 -show(l)
1.641 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.642 -show(l)
1.643 -
1.644 -s = get_selector(dt, qualifiers)
1.645 -l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.646 -print len(l) == 11, 11, len(l)
1.647 -print l[0] == (1997, 3, 13, 9, 0, 0), (1997, 3, 13, 9, 0, 0), l[0]
1.648 -print l[-1] == (1999, 3, 25, 9, 0, 0), (1999, 3, 25, 9, 0, 0), l[-1]
1.649 -print
1.650 -
1.651 -qualifiers = [
1.652 - ("YEARLY", {"interval" : 1}),
1.653 - ("BYMONTH", {"values" : [6, 7, 8]}),
1.654 - ("BYDAY", {"values" : [(4, None)]})
1.655 - ]
1.656 -
1.657 -l = order_qualifiers(qualifiers)
1.658 -show(l)
1.659 -dt = (1997, 6, 5, 9, 0, 0)
1.660 -l = get_datetime_structure(dt)
1.661 -show(l)
1.662 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.663 -show(l)
1.664 -
1.665 -s = get_selector(dt, qualifiers)
1.666 -l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.667 -print len(l) == 39, 39, len(l)
1.668 -print l[0] == (1997, 6, 5, 9, 0, 0), (1997, 6, 5, 9, 0, 0), l[0]
1.669 -print l[-1] == (1999, 8, 26, 9, 0, 0), (1999, 8, 26, 9, 0, 0), l[-1]
1.670 -print
1.671 -
1.672 -qualifiers = [
1.673 - ("MONTHLY", {"interval" : 1}),
1.674 - ("BYMONTHDAY", {"values" : [13]}),
1.675 - ("BYDAY", {"values" : [(5, None)]})
1.676 - ]
1.677 -
1.678 -l = order_qualifiers(qualifiers)
1.679 -show(l)
1.680 -dt = (1997, 9, 2, 9, 0, 0)
1.681 -l = get_datetime_structure(dt)
1.682 -show(l)
1.683 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.684 -show(l)
1.685 -
1.686 -s = get_selector(dt, qualifiers)
1.687 -l = s.materialise(dt, (2000, 12, 24, 0, 0, 0))
1.688 -print len(l) == 5, 5, len(l)
1.689 -print l[0] == (1998, 2, 13, 9, 0, 0), (1998, 2, 13, 9, 0, 0), l[0]
1.690 -print l[-1] == (2000, 10, 13, 9, 0, 0), (2000, 10, 13, 9, 0, 0), l[-1]
1.691 -print
1.692 -
1.693 -qualifiers = [
1.694 - ("MONTHLY", {"interval" : 1}),
1.695 - ("BYMONTHDAY", {"values" : [7, 8, 9, 10, 11, 12, 13]}),
1.696 - ("BYDAY", {"values" : [(6, None)]})
1.697 - ]
1.698 -
1.699 -l = order_qualifiers(qualifiers)
1.700 -show(l)
1.701 -dt = (1997, 9, 13, 9, 0, 0)
1.702 -l = get_datetime_structure(dt)
1.703 -show(l)
1.704 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.705 -show(l)
1.706 -
1.707 -s = get_selector(dt, qualifiers)
1.708 -l = s.materialise(dt, (1998, 6, 30, 0, 0, 0))
1.709 -print len(l) == 10, 10, len(l)
1.710 -print l[0] == (1997, 9, 13, 9, 0, 0), (1997, 9, 13, 9, 0, 0), l[0]
1.711 -print l[-1] == (1998, 6, 13, 9, 0, 0), (1998, 6, 13, 9, 0, 0), l[-1]
1.712 -print
1.713 -
1.714 -qualifiers = [
1.715 - ("YEARLY", {"interval" : 4}),
1.716 - ("BYMONTH", {"values" : [11]}),
1.717 - ("BYMONTHDAY", {"values" : [2, 3, 4, 5, 6, 7, 8]}),
1.718 - ("BYDAY", {"values" : [(2, None)]})
1.719 - ]
1.720 -
1.721 -l = order_qualifiers(qualifiers)
1.722 -show(l)
1.723 -dt = (1996, 11, 5, 9, 0, 0)
1.724 -l = get_datetime_structure(dt)
1.725 -show(l)
1.726 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.727 -show(l)
1.728 -
1.729 -s = get_selector(dt, qualifiers)
1.730 -l = s.materialise(dt, (2004, 12, 24, 0, 0, 0))
1.731 -print len(l) == 3, 3, len(l)
1.732 -print l[0] == (1996, 11, 5, 9, 0, 0), (1996, 11, 5, 9, 0, 0), l[0]
1.733 -print l[-1] == (2004, 11, 2, 9, 0, 0), (2004, 11, 2, 9, 0, 0), l[-1]
1.734 -print
1.735 -
1.736 -qualifiers = [
1.737 - ("MONTHLY", {"interval" : 1}),
1.738 - ("BYDAY", {"values" : [(2, None), (3, None), (4, None)]})
1.739 - ]
1.740 -
1.741 -l = order_qualifiers(qualifiers)
1.742 -show(l)
1.743 -dt = (1997, 9, 4, 9, 0, 0)
1.744 -l = get_datetime_structure(dt)
1.745 -show(l)
1.746 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.747 -show(l)
1.748 -
1.749 -s = get_selector(dt, qualifiers)
1.750 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0), 3, [3])
1.751 -print len(l) == 3, 3, len(l)
1.752 -print l[0] == (1997, 9, 4, 9, 0, 0), (1997, 9, 4, 9, 0, 0), l[0]
1.753 -print l[-1] == (1997, 11, 6, 9, 0, 0), (1997, 11, 6, 9, 0, 0), l[-1]
1.754 -print
1.755 -
1.756 -l2 = l
1.757 -
1.758 -qualifiers = [
1.759 - ("MONTHLY", {"interval" : 1}),
1.760 - ("BYDAY", {"values" : [(1, None), (2, None), (3, None), (4, None), (5, None)]})
1.761 - ]
1.762 -
1.763 -l = order_qualifiers(qualifiers)
1.764 -show(l)
1.765 -dt = (1997, 9, 29, 9, 0, 0)
1.766 -l = get_datetime_structure(dt)
1.767 -show(l)
1.768 -l = combine_datetime_with_qualifiers(dt, qualifiers)
1.769 -show(l)
1.770 -
1.771 -s = get_selector(dt, qualifiers)
1.772 -l = s.materialise(dt, (1998, 4, 1, 0, 0, 0), None, [-2])
1.773 -print len(l) == 7, 7, len(l)
1.774 -print l[0] == (1997, 9, 29, 9, 0, 0), (1997, 9, 29, 9, 0, 0), l[0]
1.775 -print l[-1] == (1998, 3, 30, 9, 0, 0), (1998, 3, 30, 9, 0, 0), l[-1]
1.776 -print
1.777 -
1.778 -# vim: tabstop=4 expandtab shiftwidth=4