1.1 --- a/tests/internal/qualifiers.py Sat Dec 16 18:24:29 2017 +0100
1.2 +++ b/tests/internal/qualifiers.py Sat Dec 16 21:50:17 2017 +0100
1.3 @@ -20,6 +20,7 @@
1.4 """
1.5
1.6 from vRecurrence import *
1.7 +import sys
1.8
1.9 def show(l):
1.10 for x in l:
1.11 @@ -39,548 +40,620 @@
1.12 show(csel)
1.13 return s
1.14
1.15 -qualifiers = [
1.16 - ("YEARLY", {"interval" : 1})
1.17 - ]
1.18 -dt = (1997, 11, 2)
1.19 -s = select(dt, qualifiers)
1.20 +def test1():
1.21 + qualifiers = [
1.22 + ("YEARLY", {"interval" : 1})
1.23 + ]
1.24 + dt = (1997, 11, 2)
1.25 + s = select(dt, qualifiers)
1.26
1.27 -l = s.materialise(dt, (2003, 12, 24))
1.28 -print len(l) == 7, 7, len(l)
1.29 -print l[0] == (1997, 11, 2), (1997, 11, 2), l[0]
1.30 -print l[-1] == (2003, 11, 2), (2003, 11, 2), l[-1]
1.31 -print
1.32 + l = s.materialise(dt, (2003, 12, 24))
1.33 + print len(l) == 7, 7, len(l)
1.34 + print l[0] == (1997, 11, 2), (1997, 11, 2), l[0]
1.35 + print l[-1] == (2003, 11, 2), (2003, 11, 2), l[-1]
1.36 + print
1.37 +
1.38 +def test2():
1.39 + qualifiers = [
1.40 + ("YEARLY", {"interval" : 2}),
1.41 + ("BYMONTH", {"values" : [1]}),
1.42 + ("BYDAY", {"values" : [(7, None)]}),
1.43 + ("BYHOUR", {"values" : [8, 9]}),
1.44 + ("BYMINUTE", {"values" : [30]})
1.45 + ]
1.46 + dt = (1997, 1, 5, 8, 30, 0)
1.47 + s = select(dt, qualifiers)
1.48
1.49 -qualifiers = [
1.50 - ("YEARLY", {"interval" : 2}),
1.51 - ("BYMONTH", {"values" : [1]}),
1.52 - ("BYDAY", {"values" : [(7, None)]}),
1.53 - ("BYHOUR", {"values" : [8, 9]}),
1.54 - ("BYMINUTE", {"values" : [30]})
1.55 - ]
1.56 -dt = (1997, 1, 5, 8, 30, 0)
1.57 -s = select(dt, qualifiers)
1.58 + l = s.materialise(dt, (2003, 12, 24, 0, 0, 0))
1.59 + print len(l) == 34, 34, len(l)
1.60 + print l[0] == (1997, 1, 5, 8, 30, 0), (1997, 1, 5, 8, 30, 0), l[0]
1.61 + print l[-1] == (2003, 1, 26, 9, 30, 0), (2003, 1, 26, 9, 30, 0), l[-1]
1.62 + print
1.63
1.64 -l = s.materialise(dt, (2003, 12, 24, 0, 0, 0))
1.65 -print len(l) == 34, 34, len(l)
1.66 -print l[0] == (1997, 1, 5, 8, 30, 0), (1997, 1, 5, 8, 30, 0), l[0]
1.67 -print l[-1] == (2003, 1, 26, 9, 30, 0), (2003, 1, 26, 9, 30, 0), l[-1]
1.68 -print
1.69 +def test3():
1.70 + qualifiers = [
1.71 + ("DAILY", {"interval" : 1}),
1.72 + ("COUNT", {"values" : [10]})
1.73 + ]
1.74 + dt = (1997, 9, 2, 9, 0, 0)
1.75 + s = select(dt, qualifiers)
1.76
1.77 -qualifiers = [
1.78 - ("DAILY", {"interval" : 1}),
1.79 - ("COUNT", {"values" : [10]})
1.80 - ]
1.81 -dt = (1997, 9, 2, 9, 0, 0)
1.82 -s = select(dt, qualifiers)
1.83 + l = s.materialise(dt, (1997, 12, 24))
1.84 + print len(l) == 10, 10, len(l)
1.85 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.86 + print l[-1] == (1997, 9, 11, 9, 0, 0), (1997, 9, 11, 9, 0, 0), l[-1]
1.87 + print
1.88
1.89 -l = s.materialise(dt, (1997, 12, 24))
1.90 -print len(l) == 10, 10, len(l)
1.91 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.92 -print l[-1] == (1997, 9, 11, 9, 0, 0), (1997, 9, 11, 9, 0, 0), l[-1]
1.93 -print
1.94 +def test4():
1.95 + qualifiers = [
1.96 + ("DAILY", {"interval" : 1})
1.97 + ]
1.98 + dt = (1997, 9, 2, 9, 0, 0)
1.99 + s = select(dt, qualifiers)
1.100
1.101 -qualifiers = [
1.102 - ("DAILY", {"interval" : 1})
1.103 - ]
1.104 -dt = (1997, 9, 2, 9, 0, 0)
1.105 -s = select(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 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.113 -print len(l) == 113, 113, len(l)
1.114 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.115 -print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.116 -print
1.117 +def test5():
1.118 + qualifiers = get_qualifiers(["FREQ=DAILY", "UNTIL=19971224T000000Z"]) # UNTIL not converted
1.119 + dt = (1997, 9, 2, 9, 0, 0)
1.120 + s = select(dt, qualifiers)
1.121
1.122 -qualifiers = [
1.123 - ("DAILY", {"interval" : 2})
1.124 - ]
1.125 -dt = (1997, 9, 2, 9, 0, 0)
1.126 -s = select(dt, qualifiers)
1.127 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0), True)
1.128 + print len(l) == 113, 113, len(l)
1.129 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.130 + print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.131 + print
1.132
1.133 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.134 -print len(l) == 57, 57, len(l)
1.135 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.136 -print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.137 -print
1.138 +def test6():
1.139 + qualifiers = [
1.140 + ("DAILY", {"interval" : 2})
1.141 + ]
1.142 + dt = (1997, 9, 2, 9, 0, 0)
1.143 + s = select(dt, qualifiers)
1.144
1.145 -qualifiers = [
1.146 - ("WEEKLY", {"interval" : 1})
1.147 - ]
1.148 -dt = (1997, 9, 2, 9, 0, 0)
1.149 -s = select(dt, qualifiers)
1.150 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.151 + print len(l) == 57, 57, len(l)
1.152 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.153 + print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.154 + print
1.155
1.156 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.157 -print len(l) == 17, 17, len(l)
1.158 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.159 -print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.160 -print
1.161 +def test7():
1.162 + qualifiers = [
1.163 + ("WEEKLY", {"interval" : 1})
1.164 + ]
1.165 + dt = (1997, 9, 2, 9, 0, 0)
1.166 + s = select(dt, qualifiers)
1.167
1.168 -qualifiers = [
1.169 - ("DAILY", {"interval" : 10}),
1.170 - ("COUNT", {"values" : [5]})
1.171 - ]
1.172 -dt = (1997, 9, 2, 9, 0, 0)
1.173 -s = select(dt, qualifiers)
1.174 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.175 + print len(l) == 17, 17, len(l)
1.176 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.177 + print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.178 + print
1.179
1.180 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.181 -print len(l) == 5, 5, len(l)
1.182 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.183 -print l[-1] == (1997, 10, 12, 9, 0, 0), (1997, 10, 12, 9, 0, 0), l[-1]
1.184 -print
1.185 +def test8():
1.186 + qualifiers = [
1.187 + ("DAILY", {"interval" : 10}),
1.188 + ("COUNT", {"values" : [5]})
1.189 + ]
1.190 + dt = (1997, 9, 2, 9, 0, 0)
1.191 + s = select(dt, qualifiers)
1.192 +
1.193 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.194 + print len(l) == 5, 5, len(l)
1.195 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.196 + print l[-1] == (1997, 10, 12, 9, 0, 0), (1997, 10, 12, 9, 0, 0), l[-1]
1.197 + print
1.198
1.199 -qualifiers = [
1.200 - ("YEARLY", {"interval" : 1}),
1.201 - ("BYMONTH", {"values" : [1]}),
1.202 - ("BYDAY", {"values" : [(1, None), (2, None), (3, None), (4, None), (5, None), (6, None), (7, None)]})
1.203 - ]
1.204 -dt = (1998, 1, 1, 9, 0, 0)
1.205 -s = select(dt, qualifiers)
1.206 +def test9():
1.207 + qualifiers = [
1.208 + ("YEARLY", {"interval" : 1}),
1.209 + ("BYMONTH", {"values" : [1]}),
1.210 + ("BYDAY", {"values" : [(1, None), (2, None), (3, None), (4, None), (5, None), (6, None), (7, None)]})
1.211 + ]
1.212 + dt = (1998, 1, 1, 9, 0, 0)
1.213 + s = select(dt, qualifiers)
1.214
1.215 -l = s.materialise(dt, (2000, 1, 31, 14, 0, 0))
1.216 -print len(l) == 93, 93, len(l)
1.217 -print l[0] == (1998, 1, 1, 9, 0, 0), (1998, 1, 1, 9, 0, 0), l[0]
1.218 -print l[-1] == (2000, 1, 31, 9, 0, 0), (2000, 1, 31, 9, 0, 0), l[-1]
1.219 -print
1.220 + l = s.materialise(dt, (2000, 1, 31, 14, 0, 0))
1.221 + print len(l) == 93, 93, len(l)
1.222 + print l[0] == (1998, 1, 1, 9, 0, 0), (1998, 1, 1, 9, 0, 0), l[0]
1.223 + print l[-1] == (2000, 1, 31, 9, 0, 0), (2000, 1, 31, 9, 0, 0), l[-1]
1.224 + print
1.225
1.226 -qualifiers = [
1.227 - ("DAILY", {"interval" : 1}),
1.228 - ("BYMONTH", {"values" : [1]})
1.229 - ]
1.230 -dt = (1998, 1, 1, 9, 0, 0)
1.231 -s = select(dt, qualifiers)
1.232 +def test10():
1.233 + qualifiers = [
1.234 + ("DAILY", {"interval" : 1}),
1.235 + ("BYMONTH", {"values" : [1]})
1.236 + ]
1.237 + dt = (1998, 1, 1, 9, 0, 0)
1.238 + s = select(dt, qualifiers)
1.239
1.240 -l = s.materialise(dt, (2000, 1, 31, 14, 0, 0))
1.241 -print len(l) == 93, 93, len(l)
1.242 -print l[0] == (1998, 1, 1, 9, 0, 0), (1998, 1, 1, 9, 0, 0), l[0]
1.243 -print l[-1] == (2000, 1, 31, 9, 0, 0), (2000, 1, 31, 9, 0, 0), l[-1]
1.244 -print
1.245 + l = s.materialise(dt, (2000, 1, 31, 14, 0, 0))
1.246 + print len(l) == 93, 93, len(l)
1.247 + print l[0] == (1998, 1, 1, 9, 0, 0), (1998, 1, 1, 9, 0, 0), l[0]
1.248 + print l[-1] == (2000, 1, 31, 9, 0, 0), (2000, 1, 31, 9, 0, 0), l[-1]
1.249 + print
1.250
1.251 -qualifiers = [
1.252 - ("WEEKLY", {"interval" : 1}),
1.253 - ("COUNT", {"values" : [10]})
1.254 - ]
1.255 -dt = (1997, 9, 2, 9, 0, 0)
1.256 -s = select(dt, qualifiers)
1.257 +def test11():
1.258 + qualifiers = [
1.259 + ("WEEKLY", {"interval" : 1}),
1.260 + ("COUNT", {"values" : [10]})
1.261 + ]
1.262 + dt = (1997, 9, 2, 9, 0, 0)
1.263 + s = select(dt, qualifiers)
1.264
1.265 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.266 -print len(l) == 10, 10, len(l)
1.267 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.268 -print l[-1] == (1997, 11, 4, 9, 0, 0), (1997, 11, 4, 9, 0, 0), l[-1]
1.269 -print
1.270 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.271 + print len(l) == 10, 10, len(l)
1.272 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.273 + print l[-1] == (1997, 11, 4, 9, 0, 0), (1997, 11, 4, 9, 0, 0), l[-1]
1.274 + print
1.275
1.276 -qualifiers = [
1.277 - ("WEEKLY", {"interval" : 1})
1.278 - ]
1.279 -dt = (1997, 9, 2, 9, 0, 0)
1.280 -s = select(dt, qualifiers)
1.281 +def test12():
1.282 + qualifiers = [
1.283 + ("WEEKLY", {"interval" : 1})
1.284 + ]
1.285 + dt = (1997, 9, 2, 9, 0, 0)
1.286 + s = select(dt, qualifiers)
1.287
1.288 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.289 -print len(l) == 17, 17, len(l)
1.290 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.291 -print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.292 -print
1.293 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.294 + print len(l) == 17, 17, len(l)
1.295 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.296 + print l[-1] == (1997, 12, 23, 9, 0, 0), (1997, 12, 23, 9, 0, 0), l[-1]
1.297 + print
1.298
1.299 -qualifiers = [
1.300 - ("WEEKLY", {"interval" : 1})
1.301 - ]
1.302 -dt = (1997, 9, 2)
1.303 -s = select(dt, qualifiers)
1.304 +def test13():
1.305 + qualifiers = [
1.306 + ("WEEKLY", {"interval" : 1})
1.307 + ]
1.308 + dt = (1997, 9, 2)
1.309 + s = select(dt, qualifiers)
1.310
1.311 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.312 -print len(l) == 17, 17, len(l)
1.313 -print l[0] == (1997, 9, 2), (1997, 9, 2), l[0]
1.314 -print l[-1] == (1997, 12, 23), (1997, 12, 23), l[-1]
1.315 -print
1.316 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.317 + print len(l) == 17, 17, len(l)
1.318 + print l[0] == (1997, 9, 2), (1997, 9, 2), l[0]
1.319 + print l[-1] == (1997, 12, 23), (1997, 12, 23), l[-1]
1.320 + print
1.321
1.322 -qualifiers = [
1.323 - ("WEEKLY", {"interval" : 2})
1.324 - ]
1.325 -dt = (1997, 9, 2, 9, 0, 0)
1.326 -s = select(dt, qualifiers)
1.327 +def test14():
1.328 + qualifiers = [
1.329 + ("WEEKLY", {"interval" : 2})
1.330 + ]
1.331 + dt = (1997, 9, 2, 9, 0, 0)
1.332 + s = select(dt, qualifiers)
1.333
1.334 -l = s.materialise(dt, (1998, 2, 20, 0, 0, 0))
1.335 -print len(l) == 13, 13, len(l)
1.336 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.337 -print l[-1] == (1998, 2, 17, 9, 0, 0), (1998, 2, 17, 9, 0, 0), l[-1]
1.338 -print
1.339 + l = s.materialise(dt, (1998, 2, 20, 0, 0, 0))
1.340 + print len(l) == 13, 13, len(l)
1.341 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.342 + print l[-1] == (1998, 2, 17, 9, 0, 0), (1998, 2, 17, 9, 0, 0), l[-1]
1.343 + print
1.344
1.345 -qualifiers = [
1.346 - ("WEEKLY", {"interval" : 1}),
1.347 - ("BYDAY", {"values" : [(2, None), (4, None)]})
1.348 - ]
1.349 -dt = (1997, 9, 2, 9, 0, 0)
1.350 -s = select(dt, qualifiers)
1.351 +def test15():
1.352 + qualifiers = [
1.353 + ("WEEKLY", {"interval" : 1}),
1.354 + ("BYDAY", {"values" : [(2, None), (4, None)]})
1.355 + ]
1.356 + dt = (1997, 9, 2, 9, 0, 0)
1.357 + s = select(dt, qualifiers)
1.358
1.359 -l = s.materialise(dt, (1997, 10, 7, 9, 0, 0))
1.360 -print len(l) == 10, 10, len(l)
1.361 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.362 -print l[-1] == (1997, 10, 2, 9, 0, 0), (1997, 10, 2, 9, 0, 0), l[-1]
1.363 -print
1.364 + l = s.materialise(dt, (1997, 10, 7, 9, 0, 0))
1.365 + print len(l) == 10, 10, len(l)
1.366 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.367 + print l[-1] == (1997, 10, 2, 9, 0, 0), (1997, 10, 2, 9, 0, 0), l[-1]
1.368 + print
1.369
1.370 -qualifiers = [
1.371 - ("WEEKLY", {"interval" : 1}),
1.372 - ("BYDAY", {"values" : [(2, None), (4, None)]}),
1.373 - ("COUNT", {"values" : [10]})
1.374 - ]
1.375 -dt = (1997, 9, 2, 9, 0, 0)
1.376 -s = select(dt, qualifiers)
1.377 +def test16():
1.378 + qualifiers = [
1.379 + ("WEEKLY", {"interval" : 1}),
1.380 + ("BYDAY", {"values" : [(2, None), (4, None)]}),
1.381 + ("COUNT", {"values" : [10]})
1.382 + ]
1.383 + dt = (1997, 9, 2, 9, 0, 0)
1.384 + s = select(dt, qualifiers)
1.385
1.386 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.387 -print len(l) == 10, 10, len(l)
1.388 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.389 -print l[-1] == (1997, 10, 2, 9, 0, 0), (1997, 10, 2, 9, 0, 0), l[-1]
1.390 -print
1.391 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.392 + print len(l) == 10, 10, len(l)
1.393 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.394 + print l[-1] == (1997, 10, 2, 9, 0, 0), (1997, 10, 2, 9, 0, 0), l[-1]
1.395 + print
1.396
1.397 -qualifiers = [
1.398 - ("WEEKLY", {"interval" : 2}),
1.399 - ("BYDAY", {"values" : [(1, None), (3, None), (5, None)]})
1.400 - ]
1.401 -dt = (1997, 9, 1, 9, 0, 0)
1.402 -s = select(dt, qualifiers)
1.403 +def test17():
1.404 + qualifiers = [
1.405 + ("WEEKLY", {"interval" : 2}),
1.406 + ("BYDAY", {"values" : [(1, None), (3, None), (5, None)]})
1.407 + ]
1.408 + dt = (1997, 9, 1, 9, 0, 0)
1.409 + s = select(dt, qualifiers)
1.410
1.411 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.412 -print len(l) == 25, 25, len(l)
1.413 -print l[0] == (1997, 9, 1, 9, 0, 0), (1997, 9, 1, 9, 0, 0), l[0]
1.414 -print l[-1] == (1997, 12, 22, 9, 0, 0), (1997, 12, 22, 9, 0, 0), l[-1]
1.415 -print
1.416 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.417 + print len(l) == 25, 25, len(l)
1.418 + print l[0] == (1997, 9, 1, 9, 0, 0), (1997, 9, 1, 9, 0, 0), l[0]
1.419 + print l[-1] == (1997, 12, 22, 9, 0, 0), (1997, 12, 22, 9, 0, 0), l[-1]
1.420 + print
1.421
1.422 -qualifiers = [
1.423 - ("WEEKLY", {"interval" : 2}),
1.424 - ("BYDAY", {"values" : [(2, None), (4, None)]}),
1.425 - ("COUNT", {"values" : [8]})
1.426 - ]
1.427 -dt = (1997, 9, 2, 9, 0, 0)
1.428 -s = select(dt, qualifiers)
1.429 +def test18():
1.430 + qualifiers = [
1.431 + ("WEEKLY", {"interval" : 2}),
1.432 + ("BYDAY", {"values" : [(2, None), (4, None)]}),
1.433 + ("COUNT", {"values" : [8]})
1.434 + ]
1.435 + dt = (1997, 9, 2, 9, 0, 0)
1.436 + s = select(dt, qualifiers)
1.437
1.438 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.439 -print len(l) == 8, 8, len(l)
1.440 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.441 -print l[-1] == (1997, 10, 16, 9, 0, 0), (1997, 10, 16, 9, 0, 0), l[-1]
1.442 -print
1.443 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.444 + print len(l) == 8, 8, len(l)
1.445 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.446 + print l[-1] == (1997, 10, 16, 9, 0, 0), (1997, 10, 16, 9, 0, 0), l[-1]
1.447 + print
1.448
1.449 -qualifiers = [
1.450 - ("MONTHLY", {"interval" : 1}),
1.451 - ("BYDAY", {"values" : [(5, 1)]}),
1.452 - ("COUNT", {"values" : [10]})
1.453 - ]
1.454 -dt = (1997, 9, 5, 9, 0, 0)
1.455 -s = select(dt, qualifiers)
1.456 +def test19():
1.457 + qualifiers = [
1.458 + ("MONTHLY", {"interval" : 1}),
1.459 + ("BYDAY", {"values" : [(5, 1)]}),
1.460 + ("COUNT", {"values" : [10]})
1.461 + ]
1.462 + dt = (1997, 9, 5, 9, 0, 0)
1.463 + s = select(dt, qualifiers)
1.464
1.465 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.466 -print len(l) == 10, 10, len(l)
1.467 -print l[0] == (1997, 9, 5, 9, 0, 0), (1997, 9, 5, 9, 0, 0), l[0]
1.468 -print l[-1] == (1998, 6, 5, 9, 0, 0), (1998, 6, 5, 9, 0, 0), l[-1]
1.469 -print
1.470 + l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.471 + print len(l) == 10, 10, len(l)
1.472 + print l[0] == (1997, 9, 5, 9, 0, 0), (1997, 9, 5, 9, 0, 0), l[0]
1.473 + print l[-1] == (1998, 6, 5, 9, 0, 0), (1998, 6, 5, 9, 0, 0), l[-1]
1.474 + print
1.475
1.476 -qualifiers = [
1.477 - ("MONTHLY", {"interval" : 1}),
1.478 - ("BYDAY", {"values" : [(5, 1)]})
1.479 - ]
1.480 -dt = (1997, 9, 5, 9, 0, 0)
1.481 -s = select(dt, qualifiers)
1.482 +def test20():
1.483 + qualifiers = [
1.484 + ("MONTHLY", {"interval" : 1}),
1.485 + ("BYDAY", {"values" : [(5, 1)]})
1.486 + ]
1.487 + dt = (1997, 9, 5, 9, 0, 0)
1.488 + s = select(dt, qualifiers)
1.489
1.490 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.491 -print len(l) == 4, 4, len(l)
1.492 -print l[0] == (1997, 9, 5, 9, 0, 0), (1997, 9, 5, 9, 0, 0), l[0]
1.493 -print l[-1] == (1997, 12, 5, 9, 0, 0), (1997, 12, 5, 9, 0, 0), l[-1]
1.494 -print
1.495 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.496 + print len(l) == 4, 4, len(l)
1.497 + print l[0] == (1997, 9, 5, 9, 0, 0), (1997, 9, 5, 9, 0, 0), l[0]
1.498 + print l[-1] == (1997, 12, 5, 9, 0, 0), (1997, 12, 5, 9, 0, 0), l[-1]
1.499 + print
1.500 +
1.501 +def test21():
1.502 + qualifiers = [
1.503 + ("MONTHLY", {"interval" : 2}),
1.504 + ("BYDAY", {"values" : [(7, 1), (7, -1)]}),
1.505 + ("COUNT", {"values" : [10]})
1.506 + ]
1.507 + dt = (1997, 9, 7, 9, 0, 0)
1.508 + s = select(dt, qualifiers)
1.509
1.510 -qualifiers = [
1.511 - ("MONTHLY", {"interval" : 2}),
1.512 - ("BYDAY", {"values" : [(7, 1), (7, -1)]}),
1.513 - ("COUNT", {"values" : [10]})
1.514 - ]
1.515 -dt = (1997, 9, 7, 9, 0, 0)
1.516 -s = select(dt, qualifiers)
1.517 + l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.518 + print len(l) == 10, 10, len(l)
1.519 + print l[0] == (1997, 9, 7, 9, 0, 0), (1997, 9, 7, 9, 0, 0), l[0]
1.520 + print l[-1] == (1998, 5, 31, 9, 0, 0), (1998, 5, 31, 9, 0, 0), l[-1]
1.521 + print
1.522
1.523 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.524 -print len(l) == 10, 10, len(l)
1.525 -print l[0] == (1997, 9, 7, 9, 0, 0), (1997, 9, 7, 9, 0, 0), l[0]
1.526 -print l[-1] == (1998, 5, 31, 9, 0, 0), (1998, 5, 31, 9, 0, 0), l[-1]
1.527 -print
1.528 +def test22():
1.529 + qualifiers = [
1.530 + ("MONTHLY", {"interval" : 1}),
1.531 + ("BYDAY", {"values" : [(1, -2)]}),
1.532 + ("COUNT", {"values" : [6]})
1.533 + ]
1.534 + dt = (1997, 9, 22, 9, 0, 0)
1.535 + s = select(dt, qualifiers)
1.536
1.537 -qualifiers = [
1.538 - ("MONTHLY", {"interval" : 1}),
1.539 - ("BYDAY", {"values" : [(1, -2)]}),
1.540 - ("COUNT", {"values" : [6]})
1.541 - ]
1.542 -dt = (1997, 9, 22, 9, 0, 0)
1.543 -s = select(dt, qualifiers)
1.544 + l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.545 + print len(l) == 6, 6, len(l)
1.546 + print l[0] == (1997, 9, 22, 9, 0, 0), (1997, 9, 22, 9, 0, 0), l[0]
1.547 + print l[-1] == (1998, 2, 16, 9, 0, 0), (1998, 2, 16, 9, 0, 0), l[-1]
1.548 + print
1.549
1.550 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.551 -print len(l) == 6, 6, len(l)
1.552 -print l[0] == (1997, 9, 22, 9, 0, 0), (1997, 9, 22, 9, 0, 0), l[0]
1.553 -print l[-1] == (1998, 2, 16, 9, 0, 0), (1998, 2, 16, 9, 0, 0), l[-1]
1.554 -print
1.555 +def test23():
1.556 + qualifiers = [
1.557 + ("MONTHLY", {"interval" : 1}),
1.558 + ("BYMONTHDAY", {"values" : [-3]}),
1.559 + ("COUNT", {"values" : [6]})
1.560 + ]
1.561 + dt = (1997, 9, 28, 9, 0, 0)
1.562 + s = select(dt, qualifiers)
1.563
1.564 -qualifiers = [
1.565 - ("MONTHLY", {"interval" : 1}),
1.566 - ("BYMONTHDAY", {"values" : [-3]}),
1.567 - ("COUNT", {"values" : [6]})
1.568 - ]
1.569 -dt = (1997, 9, 28, 9, 0, 0)
1.570 -s = select(dt, qualifiers)
1.571 + l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.572 + print len(l) == 6, 6, len(l)
1.573 + print l[0] == (1997, 9, 28, 9, 0, 0), (1997, 9, 28, 9, 0, 0), l[0]
1.574 + print l[-1] == (1998, 2, 26, 9, 0, 0), (1998, 2, 26, 9, 0, 0), l[-1]
1.575 + print
1.576
1.577 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.578 -print len(l) == 6, 6, len(l)
1.579 -print l[0] == (1997, 9, 28, 9, 0, 0), (1997, 9, 28, 9, 0, 0), l[0]
1.580 -print l[-1] == (1998, 2, 26, 9, 0, 0), (1998, 2, 26, 9, 0, 0), l[-1]
1.581 -print
1.582 +def test24():
1.583 + qualifiers = [
1.584 + ("MONTHLY", {"interval" : 1}),
1.585 + ("BYMONTHDAY", {"values" : [15, 2]}), # test ordering
1.586 + ("COUNT", {"values" : [10]})
1.587 + ]
1.588 + dt = (1997, 9, 2, 9, 0, 0)
1.589 + s = select(dt, qualifiers)
1.590
1.591 -qualifiers = [
1.592 - ("MONTHLY", {"interval" : 1}),
1.593 - ("BYMONTHDAY", {"values" : [15, 2]}), # test ordering
1.594 - ("COUNT", {"values" : [10]})
1.595 - ]
1.596 -dt = (1997, 9, 2, 9, 0, 0)
1.597 -s = select(dt, qualifiers)
1.598 + l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.599 + print len(l) == 10, 10, len(l)
1.600 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.601 + print l[-1] == (1998, 1, 15, 9, 0, 0), (1998, 1, 15, 9, 0, 0), l[-1]
1.602 + print
1.603
1.604 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.605 -print len(l) == 10, 10, len(l)
1.606 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.607 -print l[-1] == (1998, 1, 15, 9, 0, 0), (1998, 1, 15, 9, 0, 0), l[-1]
1.608 -print
1.609 +def test25():
1.610 + qualifiers = [
1.611 + ("MONTHLY", {"interval" : 1}),
1.612 + ("BYMONTHDAY", {"values" : [1, -1]}),
1.613 + ("COUNT", {"values" : [10]})
1.614 + ]
1.615 + dt = (1997, 9, 30, 9, 0, 0)
1.616 + s = select(dt, qualifiers)
1.617
1.618 -qualifiers = [
1.619 - ("MONTHLY", {"interval" : 1}),
1.620 - ("BYMONTHDAY", {"values" : [1, -1]}),
1.621 - ("COUNT", {"values" : [10]})
1.622 - ]
1.623 -dt = (1997, 9, 30, 9, 0, 0)
1.624 -s = select(dt, qualifiers)
1.625 + l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.626 + print len(l) == 10, 10, len(l)
1.627 + print l[0] == (1997, 9, 30, 9, 0, 0), (1997, 9, 30, 9, 0, 0), l[0]
1.628 + print l[-1] == (1998, 2, 1, 9, 0, 0), (1998, 2, 1, 9, 0, 0), l[-1]
1.629 + print
1.630
1.631 -l = s.materialise(dt, (1998, 12, 24, 0, 0, 0))
1.632 -print len(l) == 10, 10, len(l)
1.633 -print l[0] == (1997, 9, 30, 9, 0, 0), (1997, 9, 30, 9, 0, 0), l[0]
1.634 -print l[-1] == (1998, 2, 1, 9, 0, 0), (1998, 2, 1, 9, 0, 0), l[-1]
1.635 -print
1.636 +def test26():
1.637 + qualifiers = [
1.638 + ("MONTHLY", {"interval" : 18}),
1.639 + ("BYMONTHDAY", {"values" : [10, 11, 12, 13, 14, 15]}),
1.640 + ("COUNT", {"values" : [10]})
1.641 + ]
1.642 + dt = (1997, 9, 10, 9, 0, 0)
1.643 + s = select(dt, qualifiers)
1.644
1.645 -qualifiers = [
1.646 - ("MONTHLY", {"interval" : 18}),
1.647 - ("BYMONTHDAY", {"values" : [10, 11, 12, 13, 14, 15]}),
1.648 - ("COUNT", {"values" : [10]})
1.649 - ]
1.650 -dt = (1997, 9, 10, 9, 0, 0)
1.651 -s = select(dt, qualifiers)
1.652 + l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.653 + print len(l) == 10, 10, len(l)
1.654 + print l[0] == (1997, 9, 10, 9, 0, 0), (1997, 9, 10, 9, 0, 0), l[0]
1.655 + print l[-1] == (1999, 3, 13, 9, 0, 0), (1999, 3, 13, 9, 0, 0), l[-1]
1.656 + print
1.657
1.658 -l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.659 -print len(l) == 10, 10, len(l)
1.660 -print l[0] == (1997, 9, 10, 9, 0, 0), (1997, 9, 10, 9, 0, 0), l[0]
1.661 -print l[-1] == (1999, 3, 13, 9, 0, 0), (1999, 3, 13, 9, 0, 0), l[-1]
1.662 -print
1.663 +def test27():
1.664 + qualifiers = [
1.665 + ("MONTHLY", {"interval" : 2}),
1.666 + ("BYDAY", {"values" : [(2, None)]})
1.667 + ]
1.668 + dt = (1997, 9, 2, 9, 0, 0)
1.669 + s = select(dt, qualifiers)
1.670
1.671 -qualifiers = [
1.672 - ("MONTHLY", {"interval" : 2}),
1.673 - ("BYDAY", {"values" : [(2, None)]})
1.674 - ]
1.675 -dt = (1997, 9, 2, 9, 0, 0)
1.676 -s = select(dt, qualifiers)
1.677 + l = s.materialise(dt, (1998, 4, 1, 0, 0, 0))
1.678 + print len(l) == 18, 18, len(l)
1.679 + print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.680 + print l[-1] == (1998, 3, 31, 9, 0, 0), (1998, 3, 31, 9, 0, 0), l[-1]
1.681 + print
1.682
1.683 -l = s.materialise(dt, (1998, 4, 1, 0, 0, 0))
1.684 -print len(l) == 18, 18, len(l)
1.685 -print l[0] == (1997, 9, 2, 9, 0, 0), (1997, 9, 2, 9, 0, 0), l[0]
1.686 -print l[-1] == (1998, 3, 31, 9, 0, 0), (1998, 3, 31, 9, 0, 0), l[-1]
1.687 -print
1.688 +def test28():
1.689 + qualifiers = [
1.690 + ("YEARLY", {"interval" : 1}),
1.691 + ("BYMONTH", {"values" : [6, 7]}),
1.692 + ("COUNT", {"values" : [10]})
1.693 + ]
1.694 + dt = (1997, 6, 10, 9, 0, 0)
1.695 + s = select(dt, qualifiers)
1.696
1.697 -qualifiers = [
1.698 - ("YEARLY", {"interval" : 1}),
1.699 - ("BYMONTH", {"values" : [6, 7]}),
1.700 - ("COUNT", {"values" : [10]})
1.701 - ]
1.702 -dt = (1997, 6, 10, 9, 0, 0)
1.703 -s = select(dt, qualifiers)
1.704 + l = s.materialise(dt, (2001, 12, 24, 0, 0, 0))
1.705 + print len(l) == 10, 10, len(l)
1.706 + print l[0] == (1997, 6, 10, 9, 0, 0), (1997, 6, 10, 9, 0, 0), l[0]
1.707 + print l[-1] == (2001, 7, 10, 9, 0, 0), (2001, 7, 10, 9, 0, 0), l[-1]
1.708 + print
1.709
1.710 -l = s.materialise(dt, (2001, 12, 24, 0, 0, 0))
1.711 -print len(l) == 10, 10, len(l)
1.712 -print l[0] == (1997, 6, 10, 9, 0, 0), (1997, 6, 10, 9, 0, 0), l[0]
1.713 -print l[-1] == (2001, 7, 10, 9, 0, 0), (2001, 7, 10, 9, 0, 0), l[-1]
1.714 -print
1.715 +def test29():
1.716 + qualifiers = [
1.717 + ("YEARLY", {"interval" : 2}),
1.718 + ("BYMONTH", {"values" : [1, 2, 3]}),
1.719 + ("COUNT", {"values" : [10]})
1.720 + ]
1.721 + dt = (1997, 3, 10, 9, 0, 0)
1.722 + s = select(dt, qualifiers)
1.723
1.724 -qualifiers = [
1.725 - ("YEARLY", {"interval" : 2}),
1.726 - ("BYMONTH", {"values" : [1, 2, 3]}),
1.727 - ("COUNT", {"values" : [10]})
1.728 - ]
1.729 -dt = (1997, 3, 10, 9, 0, 0)
1.730 -s = select(dt, qualifiers)
1.731 + l = s.materialise(dt, (2003, 12, 24, 0, 0, 0))
1.732 + print len(l) == 10, 10, len(l)
1.733 + print l[0] == (1997, 3, 10, 9, 0, 0), (1997, 3, 10, 9, 0, 0), l[0]
1.734 + print l[-1] == (2003, 3, 10, 9, 0, 0), (2003, 3, 10, 9, 0, 0), l[-1]
1.735 + print
1.736
1.737 -l = s.materialise(dt, (2003, 12, 24, 0, 0, 0))
1.738 -print len(l) == 10, 10, len(l)
1.739 -print l[0] == (1997, 3, 10, 9, 0, 0), (1997, 3, 10, 9, 0, 0), l[0]
1.740 -print l[-1] == (2003, 3, 10, 9, 0, 0), (2003, 3, 10, 9, 0, 0), l[-1]
1.741 -print
1.742 +def test30():
1.743 + qualifiers = [
1.744 + ("YEARLY", {"interval" : 3}),
1.745 + ("BYYEARDAY", {"values" : [1, 100, 200]}),
1.746 + ("COUNT", {"values" : [10]})
1.747 + ]
1.748 + dt = (1997, 1, 1, 9, 0, 0)
1.749 + s = select(dt, qualifiers)
1.750
1.751 -qualifiers = [
1.752 - ("YEARLY", {"interval" : 3}),
1.753 - ("BYYEARDAY", {"values" : [1, 100, 200]}),
1.754 - ("COUNT", {"values" : [10]})
1.755 - ]
1.756 -dt = (1997, 1, 1, 9, 0, 0)
1.757 -s = select(dt, qualifiers)
1.758 + l = s.materialise(dt, (2006, 2, 1, 0, 0, 0))
1.759 + print len(l) == 10, 10, len(l)
1.760 + print l[0] == (1997, 1, 1, 9, 0, 0), (1997, 1, 1, 9, 0, 0), l[0]
1.761 + print l[-1] == (2006, 1, 1, 9, 0, 0), (2006, 1, 1, 9, 0, 0), l[-1]
1.762 + print
1.763
1.764 -l = s.materialise(dt, (2006, 2, 1, 0, 0, 0))
1.765 -print len(l) == 10, 10, len(l)
1.766 -print l[0] == (1997, 1, 1, 9, 0, 0), (1997, 1, 1, 9, 0, 0), l[0]
1.767 -print l[-1] == (2006, 1, 1, 9, 0, 0), (2006, 1, 1, 9, 0, 0), l[-1]
1.768 -print
1.769 +def test31():
1.770 + qualifiers = [
1.771 + ("YEARLY", {"interval" : 1}),
1.772 + ("BYDAY", {"values" : [(1, 20)]})
1.773 + ]
1.774 + dt = (1997, 5, 19, 9, 0, 0)
1.775 + s = select(dt, qualifiers)
1.776
1.777 -qualifiers = [
1.778 - ("YEARLY", {"interval" : 1}),
1.779 - ("BYDAY", {"values" : [(1, 20)]})
1.780 - ]
1.781 -dt = (1997, 5, 19, 9, 0, 0)
1.782 -s = select(dt, qualifiers)
1.783 + l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.784 + print len(l) == 3, 3, len(l)
1.785 + print l[0] == (1997, 5, 19, 9, 0, 0), (1997, 5, 19, 9, 0, 0), l[0]
1.786 + print l[-1] == (1999, 5, 17, 9, 0, 0), (1999, 5, 17, 9, 0, 0), l[-1]
1.787 + print
1.788
1.789 -l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.790 -print len(l) == 3, 3, len(l)
1.791 -print l[0] == (1997, 5, 19, 9, 0, 0), (1997, 5, 19, 9, 0, 0), l[0]
1.792 -print l[-1] == (1999, 5, 17, 9, 0, 0), (1999, 5, 17, 9, 0, 0), l[-1]
1.793 -print
1.794 +def test32():
1.795 + qualifiers = [
1.796 + ("YEARLY", {"interval" : 1}),
1.797 + ("BYWEEKNO", {"values" : [20]}),
1.798 + ("BYDAY", {"values" : [(1, None)]})
1.799 + ]
1.800 + dt = (1997, 5, 12, 9, 0, 0)
1.801 + s = select(dt, qualifiers)
1.802
1.803 """
1.804 -qualifiers = [
1.805 - ("YEARLY", {"interval" : 1}),
1.806 - ("BYWEEKNO", {"values" : [20]}),
1.807 - ("BYDAY", {"values" : [(1, None)]})
1.808 - ]
1.809 -dt = (1997, 5, 12, 9, 0, 0)
1.810 -s = select(dt, qualifiers)
1.811 -
1.812 -l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.813 -print len(l) == 3, 3, len(l)
1.814 -print l[0] == (1997, 5, 12, 9, 0, 0), (1997, 5, 12, 9, 0, 0), l[0]
1.815 -print l[-1] == (1999, 5, 17, 9, 0, 0), (1999, 5, 17, 9, 0, 0), l[-1]
1.816 -print
1.817 + l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.818 + print len(l) == 3, 3, len(l)
1.819 + print l[0] == (1997, 5, 12, 9, 0, 0), (1997, 5, 12, 9, 0, 0), l[0]
1.820 + print l[-1] == (1999, 5, 17, 9, 0, 0), (1999, 5, 17, 9, 0, 0), l[-1]
1.821 + print
1.822 """
1.823
1.824 -qualifiers = [
1.825 - ("YEARLY", {"interval" : 1}),
1.826 - ("BYMONTH", {"values" : [3]}),
1.827 - ("BYDAY", {"values" : [(4, None)]})
1.828 - ]
1.829 -dt = (1997, 3, 13, 9, 0, 0)
1.830 -s = select(dt, qualifiers)
1.831 +def test33():
1.832 + qualifiers = [
1.833 + ("YEARLY", {"interval" : 1}),
1.834 + ("BYMONTH", {"values" : [3]}),
1.835 + ("BYDAY", {"values" : [(4, None)]})
1.836 + ]
1.837 + dt = (1997, 3, 13, 9, 0, 0)
1.838 + s = select(dt, qualifiers)
1.839
1.840 -l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.841 -print len(l) == 11, 11, len(l)
1.842 -print l[0] == (1997, 3, 13, 9, 0, 0), (1997, 3, 13, 9, 0, 0), l[0]
1.843 -print l[-1] == (1999, 3, 25, 9, 0, 0), (1999, 3, 25, 9, 0, 0), l[-1]
1.844 -print
1.845 + l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.846 + print len(l) == 11, 11, len(l)
1.847 + print l[0] == (1997, 3, 13, 9, 0, 0), (1997, 3, 13, 9, 0, 0), l[0]
1.848 + print l[-1] == (1999, 3, 25, 9, 0, 0), (1999, 3, 25, 9, 0, 0), l[-1]
1.849 + print
1.850
1.851 -qualifiers = [
1.852 - ("YEARLY", {"interval" : 1}),
1.853 - ("BYMONTH", {"values" : [6, 7, 8]}),
1.854 - ("BYDAY", {"values" : [(4, None)]})
1.855 - ]
1.856 -dt = (1997, 6, 5, 9, 0, 0)
1.857 -s = select(dt, qualifiers)
1.858 +def test34():
1.859 + qualifiers = [
1.860 + ("YEARLY", {"interval" : 1}),
1.861 + ("BYMONTH", {"values" : [6, 7, 8]}),
1.862 + ("BYDAY", {"values" : [(4, None)]})
1.863 + ]
1.864 + dt = (1997, 6, 5, 9, 0, 0)
1.865 + s = select(dt, qualifiers)
1.866
1.867 -l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.868 -print len(l) == 39, 39, len(l)
1.869 -print l[0] == (1997, 6, 5, 9, 0, 0), (1997, 6, 5, 9, 0, 0), l[0]
1.870 -print l[-1] == (1999, 8, 26, 9, 0, 0), (1999, 8, 26, 9, 0, 0), l[-1]
1.871 -print
1.872 + l = s.materialise(dt, (1999, 12, 24, 0, 0, 0))
1.873 + print len(l) == 39, 39, len(l)
1.874 + print l[0] == (1997, 6, 5, 9, 0, 0), (1997, 6, 5, 9, 0, 0), l[0]
1.875 + print l[-1] == (1999, 8, 26, 9, 0, 0), (1999, 8, 26, 9, 0, 0), l[-1]
1.876 + print
1.877
1.878 -qualifiers = [
1.879 - ("MONTHLY", {"interval" : 1}),
1.880 - ("BYMONTHDAY", {"values" : [13]}),
1.881 - ("BYDAY", {"values" : [(5, None)]})
1.882 - ]
1.883 -dt = (1997, 9, 2, 9, 0, 0)
1.884 -s = select(dt, qualifiers)
1.885 +def test35():
1.886 + qualifiers = [
1.887 + ("MONTHLY", {"interval" : 1}),
1.888 + ("BYMONTHDAY", {"values" : [13]}),
1.889 + ("BYDAY", {"values" : [(5, None)]})
1.890 + ]
1.891 + dt = (1997, 9, 2, 9, 0, 0)
1.892 + s = select(dt, qualifiers)
1.893
1.894 -l = s.materialise(dt, (2000, 12, 24, 0, 0, 0))
1.895 -print len(l) == 6, 6, len(l)
1.896 -print l[1] == (1998, 2, 13, 9, 0, 0), (1998, 2, 13, 9, 0, 0), l[1]
1.897 -print l[-1] == (2000, 10, 13, 9, 0, 0), (2000, 10, 13, 9, 0, 0), l[-1]
1.898 -print
1.899 + l = s.materialise(dt, (2000, 12, 24, 0, 0, 0))
1.900 + print len(l) == 6, 6, len(l)
1.901 + print l[1] == (1998, 2, 13, 9, 0, 0), (1998, 2, 13, 9, 0, 0), l[1]
1.902 + print l[-1] == (2000, 10, 13, 9, 0, 0), (2000, 10, 13, 9, 0, 0), l[-1]
1.903 + print
1.904
1.905 -qualifiers = [
1.906 - ("MONTHLY", {"interval" : 1}),
1.907 - ("BYMONTHDAY", {"values" : [7, 8, 9, 10, 11, 12, 13]}),
1.908 - ("BYDAY", {"values" : [(6, None)]})
1.909 - ]
1.910 -dt = (1997, 9, 13, 9, 0, 0)
1.911 -s = select(dt, qualifiers)
1.912 +def test36():
1.913 + qualifiers = [
1.914 + ("MONTHLY", {"interval" : 1}),
1.915 + ("BYMONTHDAY", {"values" : [7, 8, 9, 10, 11, 12, 13]}),
1.916 + ("BYDAY", {"values" : [(6, None)]})
1.917 + ]
1.918 + dt = (1997, 9, 13, 9, 0, 0)
1.919 + s = select(dt, qualifiers)
1.920 +
1.921 + l = s.materialise(dt, (1998, 6, 30, 0, 0, 0))
1.922 + print len(l) == 10, 10, len(l)
1.923 + print l[0] == (1997, 9, 13, 9, 0, 0), (1997, 9, 13, 9, 0, 0), l[0]
1.924 + print l[-1] == (1998, 6, 13, 9, 0, 0), (1998, 6, 13, 9, 0, 0), l[-1]
1.925 + print
1.926
1.927 -l = s.materialise(dt, (1998, 6, 30, 0, 0, 0))
1.928 -print len(l) == 10, 10, len(l)
1.929 -print l[0] == (1997, 9, 13, 9, 0, 0), (1997, 9, 13, 9, 0, 0), l[0]
1.930 -print l[-1] == (1998, 6, 13, 9, 0, 0), (1998, 6, 13, 9, 0, 0), l[-1]
1.931 -print
1.932 +def test37():
1.933 + qualifiers = [
1.934 + ("YEARLY", {"interval" : 4}),
1.935 + ("BYMONTH", {"values" : [11]}),
1.936 + ("BYMONTHDAY", {"values" : [2, 3, 4, 5, 6, 7, 8]}),
1.937 + ("BYDAY", {"values" : [(2, None)]})
1.938 + ]
1.939 + dt = (1996, 11, 5, 9, 0, 0)
1.940 + s = select(dt, qualifiers)
1.941 +
1.942 + l = s.materialise(dt, (2004, 12, 24, 0, 0, 0))
1.943 + print len(l) == 3, 3, len(l)
1.944 + print l[0] == (1996, 11, 5, 9, 0, 0), (1996, 11, 5, 9, 0, 0), l[0]
1.945 + print l[-1] == (2004, 11, 2, 9, 0, 0), (2004, 11, 2, 9, 0, 0), l[-1]
1.946 + print
1.947
1.948 -qualifiers = [
1.949 - ("YEARLY", {"interval" : 4}),
1.950 - ("BYMONTH", {"values" : [11]}),
1.951 - ("BYMONTHDAY", {"values" : [2, 3, 4, 5, 6, 7, 8]}),
1.952 - ("BYDAY", {"values" : [(2, None)]})
1.953 - ]
1.954 -dt = (1996, 11, 5, 9, 0, 0)
1.955 -s = select(dt, qualifiers)
1.956 +def test38():
1.957 + qualifiers = [
1.958 + ("MONTHLY", {"interval" : 1}),
1.959 + ("BYDAY", {"values" : [(2, None), (3, None), (4, None)]}),
1.960 + ("BYSETPOS", {"values" : [3]}),
1.961 + ("COUNT", {"values" : [3]})
1.962 + ]
1.963 + dt = (1997, 9, 4, 9, 0, 0)
1.964 + s = select(dt, qualifiers)
1.965
1.966 -l = s.materialise(dt, (2004, 12, 24, 0, 0, 0))
1.967 -print len(l) == 3, 3, len(l)
1.968 -print l[0] == (1996, 11, 5, 9, 0, 0), (1996, 11, 5, 9, 0, 0), l[0]
1.969 -print l[-1] == (2004, 11, 2, 9, 0, 0), (2004, 11, 2, 9, 0, 0), l[-1]
1.970 -print
1.971 + l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.972 + print len(l) == 3, 3, len(l)
1.973 + print l[0] == (1997, 9, 4, 9, 0, 0), (1997, 9, 4, 9, 0, 0), l[0]
1.974 + print l[-1] == (1997, 11, 6, 9, 0, 0), (1997, 11, 6, 9, 0, 0), l[-1]
1.975 + print
1.976
1.977 -qualifiers = [
1.978 - ("MONTHLY", {"interval" : 1}),
1.979 - ("BYDAY", {"values" : [(2, None), (3, None), (4, None)]}),
1.980 - ("BYSETPOS", {"values" : [3]}),
1.981 - ("COUNT", {"values" : [3]})
1.982 - ]
1.983 -dt = (1997, 9, 4, 9, 0, 0)
1.984 -s = select(dt, qualifiers)
1.985 +def test39():
1.986 + qualifiers = [
1.987 + ("MONTHLY", {"interval" : 1}),
1.988 + ("BYDAY", {"values" : [(1, None), (2, None), (3, None), (4, None), (5, None)]}),
1.989 + ("BYSETPOS", {"values" : [-2]})
1.990 + ]
1.991 + dt = (1997, 9, 29, 9, 0, 0)
1.992 + s = select(dt, qualifiers)
1.993
1.994 -l = s.materialise(dt, (1997, 12, 24, 0, 0, 0))
1.995 -print len(l) == 3, 3, len(l)
1.996 -print l[0] == (1997, 9, 4, 9, 0, 0), (1997, 9, 4, 9, 0, 0), l[0]
1.997 -print l[-1] == (1997, 11, 6, 9, 0, 0), (1997, 11, 6, 9, 0, 0), l[-1]
1.998 -print
1.999 + l = s.materialise(dt, (1998, 4, 1, 0, 0, 0))
1.1000 + print len(l) == 7, 7, len(l)
1.1001 + print l[0] == (1997, 9, 29, 9, 0, 0), (1997, 9, 29, 9, 0, 0), l[0]
1.1002 + print l[-1] == (1998, 3, 30, 9, 0, 0), (1998, 3, 30, 9, 0, 0), l[-1]
1.1003 + print
1.1004
1.1005 -l2 = l
1.1006 +def test40():
1.1007 + qualifiers = get_qualifiers(["BYMONTHDAY=5", "FREQ=HOURLY", "INTERVAL=12"])
1.1008 + dt = (2017, 6, 13)
1.1009 + s = select(dt, qualifiers)
1.1010
1.1011 -qualifiers = [
1.1012 - ("MONTHLY", {"interval" : 1}),
1.1013 - ("BYDAY", {"values" : [(1, None), (2, None), (3, None), (4, None), (5, None)]}),
1.1014 - ("BYSETPOS", {"values" : [-2]})
1.1015 - ]
1.1016 -dt = (1997, 9, 29, 9, 0, 0)
1.1017 -s = select(dt, qualifiers)
1.1018 + l = s.materialise(dt, (2019, 1, 1))
1.1019 + print len(l) == 37, 37, len(l)
1.1020 + print l[1] == (2017, 7, 5, 0), (2017, 7, 5, 0), l[1]
1.1021 + print l[-1] == (2018, 12, 5, 12), (2018, 12, 5, 12), l[-1]
1.1022 + print
1.1023 +
1.1024 +def test41():
1.1025 + qualifiers = get_qualifiers(["FREQ=DAILY", "BYMONTH=1"])
1.1026 + dt = (2017, 6, 13)
1.1027 + s = select(dt, qualifiers)
1.1028
1.1029 -l = s.materialise(dt, (1998, 4, 1, 0, 0, 0))
1.1030 -print len(l) == 7, 7, len(l)
1.1031 -print l[0] == (1997, 9, 29, 9, 0, 0), (1997, 9, 29, 9, 0, 0), l[0]
1.1032 -print l[-1] == (1998, 3, 30, 9, 0, 0), (1998, 3, 30, 9, 0, 0), l[-1]
1.1033 -print
1.1034 + l = s.materialise(dt, (2019, 1, 1))
1.1035 + print len(l) == 32, 32, len(l)
1.1036 + print l[1] == (2018, 1, 1), (2018, 1, 1), l[1]
1.1037 + print l[-1] == (2018, 1, 31), (2018, 1, 31), l[-1]
1.1038 + print
1.1039
1.1040 -qualifiers = get_qualifiers(["BYMONTHDAY=5", "FREQ=HOURLY", "INTERVAL=12"])
1.1041 -dt = (2017, 6, 13)
1.1042 -s = select(dt, qualifiers)
1.1043 +def test42():
1.1044 + qualifiers = get_qualifiers(["FREQ=MONTHLY", "BYDAY=WE,1FR,2MO,2FR"])
1.1045 + dt = (2017, 10, 15)
1.1046 + s = select(dt, qualifiers)
1.1047
1.1048 -l = s.materialise(dt, (2019, 1, 1))
1.1049 -print len(l) == 37, 37, len(l)
1.1050 -print l[1] == (2017, 7, 5, 0), (2017, 7, 5, 0), l[1]
1.1051 -print l[-1] == (2018, 12, 5, 12), (2018, 12, 5, 12), l[-1]
1.1052 + l = s.materialise(dt, (2018, 1, 1))
1.1053 + print len(l) == 18, 18, len(l)
1.1054 + print l[1] == (2017, 10, 18), (2017, 10, 18), l[1]
1.1055 + print l[-1] == (2017, 12, 27), (2017, 12, 27), l[-1]
1.1056 + print
1.1057
1.1058 -qualifiers = get_qualifiers(["FREQ=DAILY", "BYMONTH=1"])
1.1059 -dt = (2017, 6, 13)
1.1060 -s = select(dt, qualifiers)
1.1061 +test0 = lambda: 0 # started at 1 above
1.1062
1.1063 -l = s.materialise(dt, (2019, 1, 1))
1.1064 -print len(l) == 32, 32, len(l)
1.1065 -print l[1] == (2018, 1, 1), (2018, 1, 1), l[1]
1.1066 -print l[-1] == (2018, 1, 31), (2018, 1, 31), l[-1]
1.1067 +tests = [
1.1068 + test0, test1, test2, test3, test4, test5, test6, test7, test8, test9,
1.1069 + test10, test11, test12, test13, test14, test15, test16, test17, test18, test19,
1.1070 + test20, test21, test22, test23, test24, test25, test26, test27, test28, test29,
1.1071 + test30, test31, test32, test33, test34, test35, test36, test37, test38, test39,
1.1072 + test40, test41, test42
1.1073 +]
1.1074
1.1075 -qualifiers = get_qualifiers(["FREQ=MONTHLY", "BYDAY=WE,1FR,2MO,2FR"])
1.1076 -dt = (2017, 10, 15)
1.1077 -s = select(dt, qualifiers)
1.1078 -
1.1079 -l = s.materialise(dt, (2018, 1, 1))
1.1080 -print len(l) == 18, 18, len(l)
1.1081 -print l[1] == (2017, 10, 18), (2017, 10, 18), l[1]
1.1082 -print l[-1] == (2017, 12, 27), (2017, 12, 27), l[-1]
1.1083 +if __name__ == "__main__":
1.1084 + args = sys.argv[1:]
1.1085 + if args:
1.1086 + for n in map(int, args):
1.1087 + tests[n]()
1.1088 + else:
1.1089 + for test in tests:
1.1090 + test()
1.1091
1.1092 # vim: tabstop=4 expandtab shiftwidth=4