# HG changeset patch # User Paul Boddie # Date 1412548252 -7200 # Node ID 4c9ac6dc91678450fcf3891c4c58c84964e35941 # Parent 3d748f9c9c29dccf489c698fbce89d8e1a8f6c7f Added various tests. diff -r 3d748f9c9c29 -r 4c9ac6dc9167 tests/qualifiers.py --- a/tests/qualifiers.py Mon Oct 06 00:17:06 2014 +0200 +++ b/tests/qualifiers.py Mon Oct 06 00:30:52 2014 +0200 @@ -582,4 +582,133 @@ print l[-1] == (1999, 5, 17, 9, 0, 0), (1999, 5, 17, 9, 0, 0), l[-1] print +""" +qualifiers = [ + ("YEARLY", {"interval" : 1}), + ("BYWEEKNO", {"values" : [20]}), + ("BYDAY", {"values" : [(1, None)]}) + ] + +l = order_qualifiers(qualifiers) +show(l) +dt = (1997, 5, 12, 9, 0, 0) +l = get_datetime_structure(dt) +show(l) +l = combine_datetime_with_qualifiers(dt, qualifiers) +show(l) + +s = process(l) +l = s.materialise(dt, (1999, 12, 24, 0, 0, 0)) +print len(l) == 3, 3, len(l) +print l[0] == (1997, 5, 12, 9, 0, 0), (1997, 5, 12, 9, 0, 0), l[0] +print l[-1] == (1999, 5, 17, 9, 0, 0), (1999, 5, 17, 9, 0, 0), l[-1] +print +""" + +qualifiers = [ + ("YEARLY", {"interval" : 1}), + ("BYMONTH", {"values" : [3]}), + ("BYDAY", {"values" : [(4, None)]}) + ] + +l = order_qualifiers(qualifiers) +show(l) +dt = (1997, 3, 13, 9, 0, 0) +l = get_datetime_structure(dt) +show(l) +l = combine_datetime_with_qualifiers(dt, qualifiers) +show(l) + +s = process(l) +l = s.materialise(dt, (1999, 12, 24, 0, 0, 0)) +print len(l) == 11, 11, len(l) +print l[0] == (1997, 3, 13, 9, 0, 0), (1997, 3, 13, 9, 0, 0), l[0] +print l[-1] == (1999, 3, 25, 9, 0, 0), (1999, 3, 25, 9, 0, 0), l[-1] +print + +qualifiers = [ + ("YEARLY", {"interval" : 1}), + ("BYMONTH", {"values" : [6, 7, 8]}), + ("BYDAY", {"values" : [(4, None)]}) + ] + +l = order_qualifiers(qualifiers) +show(l) +dt = (1997, 6, 5, 9, 0, 0) +l = get_datetime_structure(dt) +show(l) +l = combine_datetime_with_qualifiers(dt, qualifiers) +show(l) + +s = process(l) +l = s.materialise(dt, (1999, 12, 24, 0, 0, 0)) +print len(l) == 39, 39, len(l) +print l[0] == (1997, 6, 5, 9, 0, 0), (1997, 6, 5, 9, 0, 0), l[0] +print l[-1] == (1999, 8, 26, 9, 0, 0), (1999, 8, 26, 9, 0, 0), l[-1] +print + +qualifiers = [ + ("MONTHLY", {"interval" : 1}), + ("BYMONTHDAY", {"values" : [13]}), + ("BYDAY", {"values" : [(5, None)]}) + ] + +l = order_qualifiers(qualifiers) +show(l) +dt = (1997, 9, 2, 9, 0, 0) +l = get_datetime_structure(dt) +show(l) +l = combine_datetime_with_qualifiers(dt, qualifiers) +show(l) + +s = process(l) +l = s.materialise(dt, (2000, 12, 24, 0, 0, 0)) +print len(l) == 5, 5, len(l) +print l[0] == (1998, 2, 13, 9, 0, 0), (1998, 2, 13, 9, 0, 0), l[0] +print l[-1] == (2000, 10, 13, 9, 0, 0), (2000, 10, 13, 9, 0, 0), l[-1] +print + +qualifiers = [ + ("MONTHLY", {"interval" : 1}), + ("BYMONTHDAY", {"values" : [7, 8, 9, 10, 11, 12, 13]}), + ("BYDAY", {"values" : [(6, None)]}) + ] + +l = order_qualifiers(qualifiers) +show(l) +dt = (1997, 9, 13, 9, 0, 0) +l = get_datetime_structure(dt) +show(l) +l = combine_datetime_with_qualifiers(dt, qualifiers) +show(l) + +s = process(l) +l = s.materialise(dt, (1998, 6, 30, 0, 0, 0)) +print len(l) == 10, 10, len(l) +print l[0] == (1997, 9, 13, 9, 0, 0), (1997, 9, 13, 9, 0, 0), l[0] +print l[-1] == (1998, 6, 13, 9, 0, 0), (1998, 6, 13, 9, 0, 0), l[-1] +print + +qualifiers = [ + ("YEARLY", {"interval" : 4}), + ("BYMONTH", {"values" : [11]}), + ("BYMONTHDAY", {"values" : [2, 3, 4, 5, 6, 7, 8]}), + ("BYDAY", {"values" : [(2, None)]}) + ] + +l = order_qualifiers(qualifiers) +show(l) +dt = (1996, 11, 5, 9, 0, 0) +l = get_datetime_structure(dt) +show(l) +l = combine_datetime_with_qualifiers(dt, qualifiers) +show(l) + +s = process(l) +l = s.materialise(dt, (2004, 12, 24, 0, 0, 0)) +print len(l) == 3, 3, len(l) +print l[0] == (1996, 11, 5, 9, 0, 0), (1996, 11, 5, 9, 0, 0), l[0] +print l[-1] == (2004, 11, 2, 9, 0, 0), (2004, 11, 2, 9, 0, 0), l[-1] +print + # vim: tabstop=4 expandtab shiftwidth=4